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-tp23959703p23977725.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
