users@grizzly.java.net

Re: Automatically publishing all JAX-WS annotated web services found on classpath when using standalone grizzly

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Wed, 22 Dec 2010 18:32:25 +0100

Hi Leo,

IMO the annotation usecase needs deeper investigation, so I'm not sure
JSR109 type of deployment will work as it is.
Though, as you have mentioned the JAX-WS servlet type of deployment
should work, but for sure you need to provide web services descriptor
files.

Thanks.

WBR,
Alexey.

> I'm wondering if it is somehow possible to tell jax-ws to publish
> all the
> annotated JAX-WS services found on the (specified) classpath. So
> far, I've seen
> this implemented only for J2EE apps, where during JAR/WAR
> deployments, the
> application server would scan the archives, find all annotated
> services and
> publish them.
>
> But I'm very interested in doing that when using JAX-WS together with
> grizzly-servlet-webserver and grizzly SPI for JAX-WS.
>
> Jersey's JAX-RS implementation when used with grizzly-servlet-
> webserver and
> jersey-server can easily find and provision all annotated JAX-RS
> services, e.g.
>
> GrizzlyWebServer server;
> server = new GrizzlyWebServer(port);
>
> ServletAdapter jersey = new ServletAdapter();
> jersey.setServletInstance(new ServletContainer());
>
> // Tell jersey where to find REST resources
> // It would scan all classes on this classpath and
> find all
> annotated services
>
> jersey.addInitParameter(ClasspathResourceConfig.PROPERTY_CLASSPATH,
> "my.jar");
>
> jersey.setServletPath("/path");
>
> // Tell grizzly to serve our REST service
> server.addGrizzlyAdapter(jersey, new String[] { "/
> path" });
> try {
> server.start();
> } catch (IOException e) {
> e.printStackTrace();
> }
>
> So, would it be possible to do something similar using JAX-WS (with
> Grizzly
> support) as well?
>
> Thanks,
> Leo
>
>
>