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.

Reply via email to