JB, okay, I have no issues with other components only smx-scripting component gives this issue. Don't know where its going wrong?. can i create a JIRA for this? .
Regards, Brijesh N K Jean-Baptiste Onofré wrote: > > Sorry, not yet. > I would like to make a test on weblogic with the war embedded into an > ear to test the classloader structure. > > Regards > JB > > brijesh wrote: >> JB, >> >> Any comments on this >> >> regards >> Brijesh N K >> >> >> >> brijesh wrote: >>> JB, >>> >>> Thanks for the response and valuable comment. >>> As far as my understanding, servicemix war file allways create a runtime >>> data, servicemixDB folder in root directory(in weblogic domain >>> directory). >>> All the installed components and associated jars , service assemblies >>> associated jars would reside in data directory. I have explored the data >>> directory and extracted and saw the classes are avaiable in this >>> directory. >>> >>> But i am confused how to specify to weblogic classloader to pick the >>> class >>> from above mentioned data directory created by servicemix more over >>> this >>> directory conaints dynamic data it will be determined on runtime. I have >>> issues only with scripting component, other SEs ,and BCs are perfectly >>> working, >>> >>> Please help me on this >>> >>> Regards >>> Brijesh N K >>> >>> >>> >>> Jean-Baptiste Onofré wrote: >>>> Hi Brijesh, >>>> >>>> I think the issue is due to the WLS classloader policy. >>>> >>>> WebLogic Server classloading is centered on the concept of an >>>> application. An application is normally packaged in an Enterprise >>>> Archive (EAR) file containing application classes. Everything within an >>>> EAR file is considered part of the same application. The following may >>>> be part of an EAR or can be loaded as standalone applications: >>>> >>>> * An Enterprise JavaBean (EJB) JAR file >>>> * A Web application WAR file >>>> * A resource adapter RAR file >>>> >>>> The classloader hierarchy is, by default: >>>> WebApp -> EJB -> WLS main classloader. >>>> >>>> Remember that one time you go up in the classloader hierarchy, it's not >>>> possible to come back down. >>>> >>>> Nevertheless, you can define your classloader structure in the >>>> weblogic-application.xml using: >>>> >>>> <classloader-structure> >>>> <module-ref> >>>> <module-uri>ejb1.jar</module-uri> >>>> </module-ref> >>>> <module-ref> >>>> <module-uri>web3.war</module-uri> >>>> </module-ref> >>>> <classloader-structure> >>>> <module-ref> >>>> <module-uri>web1.war</module-uri> >>>> </module-ref> >>>> </classloader-structure> >>>> <classloader-structure> >>>> <module-ref> >>>> <module-uri>ejb3.jar</module-uri> >>>> </module-ref> >>>> <module-ref> >>>> <module-uri>web2.war</module-uri> >>>> </module-ref> >>>> <classloader-structure> >>>> <module-ref> >>>> <module-uri>web4.war</module-uri> >>>> </module-ref> >>>> </classloader-structure> >>>> <classloader-structure> >>>> <module-ref> >>>> <module-uri>ejb2.jar</module-uri> >>>> </module-ref> >>>> </classloader-structure> >>>> </classloader-structure> >>>> </classloader-structure> >>>> >>>> In your case, your don't have a ClassNotFoundException, you have a >>>> NoClassDefFoundError. It means that the class is found but not in the >>>> correct classloader. >>>> >>>> Could you make a try using a global classloader for your EAR (not >>>> splitted by war/ejb) ? >>>> >>>> Regards >>>> JB >>>> >>>> brijesh wrote: >>>>> hello , >>>>> >>>>> I did servicemix3.3.war deployment in weblogic 10 as part of an other >>>>> ear >>>>> file. I have service assembly which uses smx-scripting component as >>>>> part >>>>> of >>>>> workflow. When i am calling this service I am getting following fault >>>>> mesage, >>>>> >>>>> >>>>> <faultcode>soap:Server</faultcode> >>>>> <faultstring>java.lang.NoClassDefFoundError: >>>>> groovy/lang/GroovyObject</faultstring> >>>>> >>>>> >>>>> When I deploy as war file , without using ear file this service >>>>> assembly >>>>> works absoulutely fine. When I deploy war file as part of ear file i >>>>> am >>>>> getting above mentioned error , complete error stack as below >>>>> >>>>> >>>>> org.apache.cxf.interceptor.Fault: java.lang.NoClassDefFoundError: >>>>> groovy/lang/GroovyObject >>>>> at >>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:769) >>>>> at >>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) >>>>> at >>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89) >>>>> at >>>>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:631) >>>>> at >>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302) >>>>> at >>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265) >>>>> at >>>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70) >>>>> at >>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) >>>>> at >>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) >>>>> at >>>>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49) >>>>> at >>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >>>>> at org.mortbay.jetty.Server.handle(Server.java:324) >>>>> at >>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) >>>>> at >>>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879) >>>>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741) >>>>> at >>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213) >>>>> at >>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403) >>>>> at >>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) >>>>> at >>>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522) >>>>> Caused by: java.lang.Exception: java.lang.NoClassDefFoundError: >>>>> groovy/lang/GroovyObject >>>>> at >>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:550) >>>>> at >>>>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60) >>>>> at >>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) >>>>> at >>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) >>>>> at >>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) >>>>> at >>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) >>>>> at java.lang.Thread.run(Thread.java:595) >>>>> Caused by: java.lang.NoClassDefFoundError: groovy/lang/GroovyObject >>>>> at java.lang.ClassLoader.defineClass1(Native Method) >>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:620) >>>>> at >>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) >>>>> at >>>>> weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:338) >>>>> at >>>>> weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:291) >>>>> at >>>>> weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:259) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:299) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>>>> at >>>>> weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179) >>>>> at >>>>> weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35) >>>>> at >>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>>>> at >>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:184) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>>>> at >>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >>>>> at java.lang.Class.forName0(Native Method) >>>>> at java.lang.Class.forName(Class.java:164) >>>>> at >>>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:81) >>>>> at >>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass(MetaClassRegistryImpl.java:252) >>>>> at >>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100(MetaClassRegistryImpl.java:45) >>>>> at >>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal(MetaClassRegistryImpl >>>>> at >>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass(MetaClassRegistryImpl. >>>>> at >>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass(MetaClassRegistryImpl.java:3 >>>>> at >>>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:265) >>>>> at >>>>> org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:765) >>>>> at >>>>> org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:754) >>>>> at >>>>> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170) >>>>> at Script1.run(Script1.groovy:24) >>>>> at >>>>> com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:243) >>>>> at >>>>> com.sun.script.groovy.GroovyCompiledScript.eval(GroovyCompiledScript.java:46) >>>>> at javax.script.CompiledScript.eval(CompiledScript.java:44) >>>>> at >>>>> org.apache.servicemix.scripting.ScriptingEndpoint.process(ScriptingEndpoint.java:300) >>>>> at >>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627) >>>>> at >>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581) >>>>> at >>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535) >>>>> ... 8 more >>>>> >>>>> >>>>> Any idea on this? >>>>> >>>>> Regards >>>>> Brijesh N K >>>> >>> >> > > -- View this message in context: http://www.nabble.com/smx-war-deployment-in-weblogic-10-tp23959703p23978189.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
