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 <http://www.antoniogoncalves.org> | Twitter
<http://twitter.com/agoncal> | LinkedIn <http://www.linkedin.com/in/agoncal> |
Pluralsight
<http://pluralsight.com/training/Authors/Details/antonio-goncalves> | Paris
JUG <http://www.parisjug.org> | Devoxx France <http://www.devoxx.fr>