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:33:20 -0500

I am using com.sun.jersey.spi.spring.container.servlet.SpringServlet
rathert than the com.sun.jersey.spi.container.servlet.ServletContainer
suggested in the second option (trying the
web-based scanning configuration in WEB-INF/lib and WEB-INF/classes). I
already use the "com.sun.jersey.config.property.packages" init param on
the SpringServlet as follows:

             
servletHandler.addInitParameter("com.sun.jersey.config.property.packages",
                     getAsString(packagesToScan));

So this option doe snot seem to work.

Anyone have any advice on this?

On 02/27/2012 11:19 AM, Farrukh Najmi wrote:
>
> 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:
>> WEB-INF/lib and WEB-INF/classes
>> 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