users@jersey.java.net

[Jersey] Re: Deploying jersey endpoint in a webstart app

From: Farrukh Najmi <farrukh_at_wellfleetsoftware.com>
Date: Mon, 27 Feb 2012 11:19:50 -0500

I have found the following that seems related:

http://jersey.576304.n2.nabble.com/jersey-and-java-web-start-td4506576.html

It does not explain why the problem occurs. The first solution (explicitly
declare the root resource and provider classes) seems painful.

I am looking into the second solution proposed (trying the
web-based scanning configuration in WEB-INF/lib and WEB-INF/classes.
For full detail see here:

https://jersey.dev.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/spi/container/servlet/ServletContainer.html
).

On 02/27/2012 11:05 AM, Farrukh Najmi wrote:
>
> Looking at my earlier problem:
>
> http://java.net/projects/jersey/lists/users/archive/2012-02/message/155
>
> I am not even sure if it is possible to run a jersey endpoint inside a
> webstart app.
>
> Here is the exception I am seeing in the jersey code running inside
> the webstart app. The code is trying to do package scanning for a
> package that is inside my.jar. my.jar is a signed jar insided the
> webstart jnlp package.
>
> Is there a problem with teh ClassLoader being used by the jesrey code?
>
> Is there a problem in my code implementing the jersey endpoint?
>
> Has any one ever implemented successfully a jersey endpoint inside a
> java webstart app?
>
> I would be grateful for some guidance from jersey dev team.
>
> com.sun.jersey.core.spi.scanning.ScannerException: IO error when
> scanning jar
> jar:http://localhost:8080/my-server/webstart/my.jar!/my/package
> at
> com.sun.jersey.core.spi.scanning.uri.JarZipSchemeScanner.scan(JarZipSchemeScanner.java:82)
> at
> com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:223)
> at
> com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:139)
> at
> com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80)
> at
> com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)
> at
> com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78)
> at
> com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
> at javax.servlet.GenericServlet.init(GenericServlet.java:244)
> at
> org.glassfish.grizzly.servlet.ServletHandler.loadServlet(ServletHandler.java:448)
> at
> org.glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:373)
> at
> org.glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:330)
> at
> org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:163)
> at
> org.glassfish.grizzly.http.server.HttpHandlerChain.service(HttpHandlerChain.java:195)
> at
> org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:163)
> at
> org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:158)
> at
> org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:286)
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:223)
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:155)
> at
> org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:134)
> at
> org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
> at
> org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:827)
> at
> org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:103)
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:111)
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
> at
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:131)
> at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:508)
> at
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:488)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.io.FileNotFoundException:
> http://localhost:8080/omar-server/webstart/my.jar
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1311)
> at java.net.URL.openStream(URL.java:1010)
> at
> com.sun.jersey.core.spi.scanning.uri.JarZipSchemeScanner.closing(JarZipSchemeScanner.java:123)
> at
> com.sun.jersey.core.spi.scanning.uri.JarZipSchemeScanner.scan(JarZipSchemeScanner.java:75)
> ... 33 more
>


-- 
Regards,
Farrukh Najmi
Web: http://www.wellfleetsoftware.com