[jboss-osgi-users] failed to start resteasy in OSGi

ZHANG Rocky F Rocky.f.Zhang at alcatel-lucent.com
Thu Jun 21 05:01:34 EDT 2012


Hi all,





I am developing a rest bundle who is responding to bring up a RESTEASY servlet and then provide interfaces for other bundles to register their own handlers into RESTEASY.



Codes registering RESTEASY servlet into OSGI:

     ResteasyServlet  servlet = new ResteasyServlet();



                   HttpService http = (HttpService) context.getService(restServiceReference);

                   if (null != http) {

                       Dictionary props = new Properties();

                       props.put("javax.ws.rs.Application", RestApplication.class.getName());

                       // props.put("resteasy.use.builtin.providers", "true");

                       props.put("resteasy.providers", ""

                               +"org.jboss.resteasy.plugins.providers.jaxb.JAXBElementProvider"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.CollectionProvider"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JAXBXmlRootElementProvider"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JAXBXmlSeeAlsoProvider"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JAXBXmlTypeProvider"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBContextFinder"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.AnnotationFactory"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.BaseMarshaller"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.ExternalEntityUnmarshaller"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.IgnoredMediaTypes"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JaxbCollection"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JAXBContextFinder"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JaxbMap"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JAXBMarshalException"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JAXBUnmarshalException"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.PrettyProcessor"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.StylesheetProcessor"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.XmlHeaderProcessor"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder"

                                 // + ",org.jboss.resteasy.plugins.providers.jaxb.XmlNamespacePrefixMapper"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBContextFinder$CacheKey"

                                 + ",org.jboss.resteasy.plugins.providers.jaxb.JaxbMap$Entry"



                                 + ",org.jboss.resteasy.plugins.providers.DataSourceProvider" + ",org.jboss.resteasy.plugins.providers.DocumentProvider"

                                 + ",org.jboss.resteasy.plugins.providers.DefaultTextPlain" + ",org.jboss.resteasy.plugins.providers.StringTextStar"

                                 + ",org.jboss.resteasy.plugins.providers.InputStreamProvider" + ",org.jboss.resteasy.plugins.providers.ByteArrayProvider"

                                 + ",org.jboss.resteasy.plugins.providers.FormUrlEncodedProvider" + ",org.jboss.resteasy.plugins.providers.FileProvider"

                                 + ",org.jboss.resteasy.plugins.providers.StreamingOutputProvider"

                                 + ",org.jboss.resteasy.plugins.providers.IIOImageProvider"

                                 + ",org.jboss.resteasy.plugins.interceptors.CacheControlInterceptor"

                                 + ",org.jboss.resteasy.plugins.interceptors.encoding.AcceptEncodingGZIPInterceptor"

                                 + ",org.jboss.resteasy.plugins.interceptors.encoding.ClientContentEncodingHeaderInterceptor"

                                 + ",org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor"

                                 + ",org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor"

                                 + ",org.jboss.resteasy.plugins.interceptors.encoding.ServerContentEncodingHeaderInterceptor");



                       http.registerServlet("/*", servlet, props, null);



ResteasyServlet class (simply wrapping HttpServletDispatcher)

import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;



/**

 * ResteasyServlet simple wrapper to Resteasy's HttpServletDispatcher.

 * @author <a href="mailto:baldin at gmail.com">Davi Baldin H. Tavares</a>

 *

 */

public class ResteasyServlet extends HttpServletDispatcher {



        private static final long serialVersionUID = 5968966644419029725L;

}



HttpService in OSGI :pax-web-jetty-bundle is providing HttpService in OSGI



RESTEASY bundle used:

I am using RESTEASY bundle built-in in JBOSS7.1.0.final.

Here is what I am configuring in JBOSS standalone.xml:

        <subsystem xmlns="urn:jboss:domain:osgi:1.2" activation="eager">

            <properties>

                <property name="org.osgi.framework.startlevel.beginning">

                    5

                </property>

            </properties>

            <capabilities>

                <capability name="javax.servlet.api:v25" startlevel="1"/>

                <capability name="javax.transaction.api" startlevel="1"/>

                <capability name="org.jboss.osgi.logging" startlevel="1"/>

                <capability name="org.apache.felix.scr" startlevel="1"/>

                <capability name="org.ops4j.pax.web.pax-web-jsp" startlevel="1"/>

                <capability name="org.ops4j.pax.web.pax-web-jetty-bundle" startlevel="1"/>

                <capability name="javax.ws.rs.api" startlevel="1"/>

                <capability name="javax.xml.bind.api" startlevel="1"/>

                <capability name="org.apache.commons.lang" startlevel="1"/>

                <capability name="com.sun.xml.bind" startlevel="1"/>

                <capability name="javax.jmdns" startlevel="1"/>

                <capability name="org.apache.log4j" startlevel="1"/>

                <capability name="org.apache.felix.log" startlevel="2"/>

                <capability name="org.apache.felix.configadmin" startlevel="2"/>

                <capability name="org.apache.felix.webconsole" startlevel="2"/>

                <capability name="org.ops4j.pax.pax-confmanager" startlevel="3"/>

                <capability name="org.jboss.resteasy.resteasy-jaxb-provider" startlevel="3"/>

                <capability name="org.jboss.resteasy.resteasy-jaxrs" startlevel="3"/>

            </capabilities>

        </subsystem>





Errors:

When I am running the rest bundle, I got the following error:



04:05:10,720 DEBUG [org.ops4j.pax.web.service.jetty.internal.HttpServiceContext] (MSC service thread 1-3) Started servlet context for http context [DefaultHttpContext{bundle=com.alu.as3.rest:1.0.0}]

04:05:10,720 DEBUG [org.jboss.osgi.framework.internal.ServiceManagerPlugin] (MSC service thread 1-3) Register service: ServiceState{service.id=53, objectClass=[javax.servlet.ServletContext], osgi.web.symbolicname=com.alu.as3.rest, osgi.web.version=1.0}

04:05:10,736 DEBUG [org.ops4j.pax.web.service.internal.HttpServiceStarted] (MSC service thread 1-3) init called on com.alu.as3.rest.internal.ResteasyServlet at 1037619

04:05:10,751 ERROR [stderr] (MSC service thread 1-3) 2012-06-21 04:05:10.751:WARN:/:unavailable

04:05:10,751 ERROR [stderr] (MSC service thread 1-3) java.lang.IllegalArgumentException: object is not an instance of declaring class

04:05:10,767 ERROR [stderr] (MSC service thread 1-3)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

04:05:10,767 ERROR [stderr] (MSC service thread 1-3)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

04:05:10,782 ERROR [stderr] (MSC service thread 1-3)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

04:05:10,782 ERROR [stderr] (MSC service thread 1-3)    at java.lang.reflect.Method.invoke(Method.java:597)

04:05:10,798 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.internal.HttpServiceStarted$2.invoke(HttpServiceStarted.java:209)

04:05:10,814 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.internal.$Proxy9.init(Unknown Source)

04:05:10,814 ERROR [stderr] (MSC service thread 1-3)    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:445)

04:05:10,829 ERROR [stderr] (MSC service thread 1-3)    at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:265)

04:05:10,829 ERROR [stderr] (MSC service thread 1-3)    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)

04:05:10,845 ERROR [stderr] (MSC service thread 1-3)    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:771)

04:05:10,860 ERROR [stderr] (MSC service thread 1-3)    at org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:1221)

04:05:10,860 ERROR [stderr] (MSC service thread 1-3)    at org.eclipse.jetty.servlet.ServletHandler.setServletMappings(ServletHandler.java:1280)

04:05:10,876 ERROR [stderr] (MSC service thread 1-3)    at org.eclipse.jetty.servlet.ServletHandler.addServletMapping(ServletHandler.java:879)

04:05:10,876 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.call(JettyServerImpl.java:170)

04:05:10,891 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.call(JettyServerImpl.java:166)

04:05:10,907 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)

04:05:10,907 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl.addServlet(JettyServerImpl.java:165)

04:05:10,923 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl$Started.addServlet(ServerControllerImpl.java:266)

04:05:10,938 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.addServlet(ServerControllerImpl.java:107)

04:05:10,954 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:165)

04:05:10,954 ERROR [stderr] (MSC service thread 1-3)    at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:56)

04:05:10,969 ERROR [stderr] (MSC service thread 1-3)    at com.alu.as3.rest.internal.RestBundleActivator.registerServlet(RestBundleActivator.java:140)

04:05:10,985 ERROR [stderr] (MSC service thread 1-3)    at com.alu.as3.rest.internal.RestBundleActivator.start(RestBundleActivator.java:48)

04:05:10,985 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.osgi.framework.internal.HostBundleState.transitionToActive(HostBundleState.java:300)

04:05:11,001 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:223)

04:05:11,001 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:494)

04:05:11,016 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.as.osgi.deployment.BundleStartTracker$1.processService(BundleStartTracker.java:144)

04:05:11,032 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.as.osgi.deployment.BundleStartTracker$1.transition(BundleStartTracker.java:119)

04:05:11,032 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.msc.service.ServiceControllerImpl.invokeListener(ServiceControllerImpl.java:1416)

04:05:11,047 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.msc.service.ServiceControllerImpl.access$2700(ServiceControllerImpl.java:49)

04:05:11,047 ERROR [stderr] (MSC service thread 1-3)    at org.jboss.msc.service.ServiceControllerImpl$ListenerTask.run(ServiceControllerImpl.java:1954)

04:05:11,063 ERROR [stderr] (MSC service thread 1-3)    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

04:05:11,078 ERROR [stderr] (MSC service thread 1-3)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

04:05:11,078 ERROR [stderr] (MSC service thread 1-3)    at java.lang.Thread.run(Thread.java:662)





Who can kindly help me on this?

Thanks in advance!



Rocky,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-osgi-users/attachments/20120621/e9faa6e0/attachment.html 


More information about the jboss-osgi-users mailing list