Le 21 juin 2015 21:31, "Arun Gupta" <arun.gupta_at_gmail.com> a écrit :
>
> Thanks!
>
> It can still be defined for a non-cluster environment?
>
How? Proxies can rewrite (actually do in numerous cases) all these data
making the call wrong. A cluster knows members so can be better even if not
100% guranteed. A registry is clearly the only clean solution...or ee
brings a ee proxy ie handle the whole "internal" chain.
> Arun
>
> On Sun, Jun 21, 2015 at 7:49 AM, Romain Manni-Bucau
> <rmannibucau_at_gmail.com> wrote:
> >
> > Le 20 juin 2015 23:34, "Arun Gupta" <arun.gupta_at_gmail.com> a écrit :
> >>
> >> That does work like @Starup for CDI but still no portable way to
> >> access host/port. Can you add a link to this blog in the issue?
> >>
> >
> > Done
> >
> > For host port i fear access will never be possible in a reliable way.
> > Cluster access could be spec-ed.
> >
> >> Arun
> >>
> >> On Fri, Jun 19, 2015 at 11:31 AM, Romain Manni-Bucau
> >> <rmannibucau_at_gmail.com> wrote:
> >> >
> >> > Le 19 juin 2015 16:21, "Arun Gupta" <arun.gupta_at_gmail.com> a écrit :
> >> >>
> >> >> >>
> >> >> >> Currently the registration is happening in @Startup @Singleton.
> >> >> >> Ideally would like this in a @ApplicationScoped bean but there
is no
> >> >> >> @Startup there.
> >> >> >>
> >> >> >
> >> >> > @Observes @ApplicationScoped startup? or through an extension
> >> >> > AfterValidation event?
> >> >>
> >> >> Sample code?
> >> >>
> >> >
> >> > https://rmannibucau.wordpress.com/2015/03/10/cdi-and-startup/
> >> >
> >> >> Arun
> >> >>
> >> >> >
> >> >> >>
> >> >> >> > (2) How to access the necessary information like host/port for
> >> >> >> > the
> >> >> >> > registration.
> >> >> >> >
> >> >> >> > JAX-RS typically operates at the level of paths and contexts,
not
> >> >> >> > hosts
> >> >> >> > and ports. Even though you can get a URI with that info, it is
> >> >> >> > really
> >> >> >> > beyond
> >> >> >> > JAX-RS IMO.
> >> >> >> >
> >> >> >>
> >> >> >> Host/port can be extracted from @UriInfo but that is only after
the
> >> >> >> request has been made.
> >> >> >
> >> >> >
> >> >> > Issue is it can be irrelevant as well (internal calls/public calls
> >> >> > etc...).
> >> >> > JAXRS is passive where container is active on this aspect.
> >> >> >
> >> >> >>
> >> >> >>
> >> >> >> > As for (1), JAX-RS has its own registration phase for
resources,
> >> >> >> > providers and features. You can do this when defining an
> >> >> >> > Application
> >> >> >> > subclass and also in any DynamicFeature that is automatically
> >> >> >> > discovered
> >> >> >> > (which are processed at deploy time). Neither was designed with
> >> >> >> > your
> >> >> >> > use
> >> >> >> > case in mind, though.
> >> >> >> >
> >> >> >>
> >> >> >> Can host/port information be retrieved in any of those?
> >> >> >>
> >> >> >> Arun
> >> >> >>
> >> >> >> > — Santiago
> >> >> >> >
> >> >> >> >> On Jun 19, 2015, at 7:41 AM, Arun Gupta <arun.gupta_at_gmail.com>
> >> >> >> >> wrote:
> >> >> >> >>
> >> >> >> >> Yes, that would be the ideal and clean solution.
> >> >> >> >>
> >> >> >> >> Filed [1] for tracking.
> >> >> >> >>
> >> >> >> >> [1] https://java.net/jira/browse/JAVAEE_SPEC-47
> >> >> >> >>
> >> >> >> >> Cheers,
> >> >> >> >> Arun
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> On Fri, Jun 19, 2015 at 6:52 AM, Antonio Goncalves
> >> >> >> >> <antonio.goncalves_at_gmail.com> wrote:
> >> >> >> >>> That brings back a topic we've been talking (and avoiding)
for
> >> >> >> >>> quite a
> >> >> >> >>> long
> >> >> >> >>> time : EJB services going back to where they should go.
> >> >> >> >>>
> >> >> >> >>> Like @Transactional was created in JTA to be used on any
beans,
> >> >> >> >>> @Startup,
> >> >> >> >>> @Schedule... should follow the same path. @Startup should go
to
> >> >> >> >>> the
> >> >> >> >>> Java EE
> >> >> >> >>> Concurrency spec and be used anywhere.
> >> >> >> >>>
> >> >> >> >>> Antonoi
> >> >> >> >>>
> >> >> >> >>> On Fri, Jun 19, 2015 at 12:31 PM, Arun Gupta
> >> >> >> >>> <arun.gupta_at_gmail.com>
> >> >> >> >>> wrote:
> >> >> >> >>>>
> >> >> >> >>>> Already using ZooKeeper as a service registry [1].
> >> >> >> >>>>
> >> >> >> >>>> The key question is how does a REST endpoint advertise
itself
> >> >> >> >>>> to
> >> >> >> >>>> this
> >> >> >> >>>> registry. We need a @Startup for a JAX-RS endpoint. Is
there an
> >> >> >> >>>> equivalent?
> >> >> >> >>>>
> >> >> >> >>>> [1]
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>>
http://blog.arungupta.me/zookeeper-microservice-registration-discovery/
> >> >> >> >>>>
> >> >> >> >>>> Arun
> >> >> >> >>>>
> >> >> >> >>>> On Fri, Jun 19, 2015 at 11:00 AM, Romain Manni-Bucau
> >> >> >> >>>> <rmannibucau_at_gmail.com> wrote:
> >> >> >> >>>>> Maybe I get it wrong but looks like you need a service
> >> >> >> >>>>> registry
> >> >> >> >>>>> *outside*
> >> >> >> >>>>> the container itself no?
> >> >> >> >>>>>
> >> >> >> >>>>> Then just getting injected a client would make it easy to
use.
> >> >> >> >>>>>
> >> >> >> >>>>> Le 19 juin 2015 10:19, "Arun Gupta" <arun.gupta_at_gmail.com>
a
> >> >> >> >>>>> écrit :
> >> >> >> >>>>>>
> >> >> >> >>>>>> Currently, I'm using @Startup @Singleton EJB [1] for
> >> >> >> >>>>>> registering
> >> >> >> >>>>>> the
> >> >> >> >>>>>> REST endpoint but the host/port are statically defined.
This
> >> >> >> >>>>>> endpoint
> >> >> >> >>>>>> could be deployed on a PaaS or a Docker container or
> >> >> >> >>>>>> somewhere
> >> >> >> >>>>>> else
> >> >> >> >>>>>> where the host/port could be different every time.
> >> >> >> >>>>>>
> >> >> >> >>>>>> Ideally, I'd love something like:
> >> >> >> >>>>>>
> >> >> >> >>>>>> @Path("catalog")
> >> >> >> >>>>>> @Startup
> >> >> >> >>>>>> public class CatalogItemREST {
> >> >> >> >>>>>>
> >> >> >> >>>>>> @PostConstruct
> >> >> >> >>>>>> public void init() {
> >> >> >> >>>>>> // get Host
> >> >> >> >>>>>> // get Port
> >> >> >> >>>>>> // register the service
> >> >> >> >>>>>> }
> >> >> >> >>>>>> }
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>> [1]
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>>
https://github.com/arun-gupta/microservices/blob/master/microservice/catalog/src/main/java/org/javaee7/wildfly/samples/everest/catalog/CatalogService.java
> >> >> >> >>>>>>
> >> >> >> >>>>>> [2]
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>>
https://github.com/arun-gupta/microservices/blob/master/microservice/catalog/src/main/java/org/javaee7/wildfly/samples/everest/catalog/CatalogItemREST.java
> >> >> >> >>>>>>
> >> >> >> >>>>>> Thoughts?
> >> >> >> >>>>>>
> >> >> >> >>>>>> Cheers
> >> >> >> >>>>>> Arun
> >> >> >> >>>>>>
> >> >> >> >>>>>> On Fri, Jun 19, 2015 at 1:10 AM, Romain Manni-Bucau
> >> >> >> >>>>>> <rmannibucau_at_gmail.com> wrote:
> >> >> >> >>>>>>> @Arun: can you precise the kind of API you expect (pseudo
> >> >> >> >>>>>>> code
> >> >> >> >>>>>>> is
> >> >> >> >>>>>>> fine)?
> >> >> >> >>>>>>> Typically I think to these common cases:
> >> >> >> >>>>>>> - host is 0.0.0.0
> >> >> >> >>>>>>> - you have N connectors (so how do you select)
> >> >> >> >>>>>>> - you are behind a proxy (httpd/ngnix)
> >> >> >> >>>>>>>
> >> >> >> >>>>>>> Romain
> >> >> >> >>>>>>>
> >> >> >> >>>>>>> Le 18 juin 2015 23:52, "Arun Gupta" <arun.gupta_at_gmail.com>
a
> >> >> >> >>>>>>> écrit
> >> >> >> >>>>>>> :
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> If multiple WARs with JAX-RS REST endpoints are
deployed,
> >> >> >> >>>>>>>> how
> >> >> >> >>>>>>>> are
> >> >> >> >>>>>>>> URIs
> >> >> >> >>>>>>>> of these endpoints advertised?
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> Tried using @Startup @Singleton but there is no
> >> >> >> >>>>>>>> standard/non-standard
> >> >> >> >>>>>>>> way to access host/port there.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> @PostConstruct for JAX-RS endpoint is not called until
the
> >> >> >> >>>>>>>> endpoint
> >> >> >> >>>>>>>> is
> >> >> >> >>>>>>>> invoked once.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> @Context UriInfo is only available after the endpoint
has
> >> >> >> >>>>>>>> been
> >> >> >> >>>>>>>> invoked.
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> There is a bit of discussion at:
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> https://twitter.com/arungupta/status/611493850092322816
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> Any suggestions?
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> Cheers
> >> >> >> >>>>>>>> Arun
> >> >> >> >>>>>>>>
> >> >> >> >>>>>>>> --
> >> >> >> >>>>>>>> http://blog.arungupta.me
> >> >> >> >>>>>>>> http://twitter.com/arungupta
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>>
> >> >> >> >>>>>> --
> >> >> >> >>>>>> http://blog.arungupta.me
> >> >> >> >>>>>> http://twitter.com/arungupta
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>>
> >> >> >> >>>> --
> >> >> >> >>>> http://blog.arungupta.me
> >> >> >> >>>> http://twitter.com/arungupta
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>>
> >> >> >> >>> --
> >> >> >> >>> Antonio Goncalves
> >> >> >> >>> Software architect, Java Champion and Pluralsight author
> >> >> >> >>>
> >> >> >> >>> Web site | Twitter | LinkedIn | Pluralsight | Paris JUG |
Devoxx
> >> >> >> >>> France
> >> >> >> >>
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> --
> >> >> >> >> http://blog.arungupta.me
> >> >> >> >> http://twitter.com/arungupta
> >> >> >> >
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> http://blog.arungupta.me
> >> >> >> http://twitter.com/arungupta
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> http://blog.arungupta.me
> >> >> http://twitter.com/arungupta
> >>
> >>
> >>
> >> --
> >> http://blog.arungupta.me
> >> http://twitter.com/arungupta
>
>
>
> --
> http://blog.arungupta.me
> http://twitter.com/arungupta