Sorry to hijack this thread, but I was hoping for clarification of
the last statement made in the quoted thread. I have been building an
application that consists of several home-grown servicemix 'pojo'
components configured directly in servicemix.xml, several binding
components from servicemix-component and an 'extension' framework
based on additional components hot-deployed against the lwcontainer.
I've never analyzed the class loading behavior in this arrangement
myself, but am I to understand that this is a non-optimal
configuration? Can you elaborate on the consequences of my current
design, and help me understand what I've done wrong if this is not a
best-practice?
Thanks in advance for any assistance.
B.J.
On Sep 6, 2006, at 12:38 AM, Guillaume Nodet wrote:
> The error is in the stack trace:
> Caused by: java.lang.ClassNotFoundException:
> org.apache.servicemix.components.jms.JmsInUsingJCABinding
>
> The reason is that servicemix-components is not put anymore in
> the ./lib
> folder, because it forces all lw components
> dependencies to be loaded from the server classloader when you
> deploy a SU
> on the lw container.
> If you don' t use the lw container, feel free to add this jar in
> ./lib/optional.
>
> On 9/6/06, gg1052 <[EMAIL PROTECTED]> wrote:
>>
>>
>> hi..
>>
>> i am copy SM-M2 version example/nca(develope me) to SM-M3 version
>> /example/nca.
>>
>> nca example SM-M2 Success..
>>
>> SM-M3/example/nca.. excute servicemix servicemix.xml
>>
>> and follow error message..
>>
>>
>> servicemix.bat: Ignoring predefined value for SERVICEMIX_HOME
>> Starting Apache ServiceMix ESB: 3.0-incubating-SNAPSHOT
>>
>> Loading Apache ServiceMix from file: servicemix.xml
>> Caught:
>> org.springframework.beans.factory.BeanDefinitionStoreException:
>> Unexpect
>> ed exception parsing XML document from file
>> [D:\Project\env\servicemix_m3\exampl
>> es\nca\servicemix.xml]; nested exception is
>> java.lang.IllegalStateException:
>> Una
>> ble to invoke parseNestedCustomElement method
>> org.springframework.beans.factory.BeanDefinitionStoreException:
>> Unexpected
>> excep
>> tion parsing XML document from file
>> [D:\Project\env\servicemix_m3\examples\nca\s
>> ervicemix.xml]; nested exception is
java.lang.IllegalStateException:
>> Unable
>> to i
>> nvoke parseNestedCustomElement method
>> Caused by: java.lang.IllegalStateException: Unable to invoke
>> parseNestedCustomEl
>> ement method
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanBeanDefinitionParserDelegate
>> .internalParseNestedCustomElement
>> (XBeanBeanDefinitionParserDelegate.java
>> :95)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanBeanDefinitionParserDelegate
>> .parsePropertySubElement(XBeanBeanDefinitionParserDelegate.java:
50)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>> rseListElement(BeanDefinitionParserDelegate.java:914)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseListEl
>> ement(XBeanNamespaceHandler.java:581)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseNested
>> PropertyViaIntrospection(XBeanNamespaceHandler.java:574)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.tryParseNes
>> tedPropertyViaIntrospection(XBeanNamespaceHandler.java:543)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.addNestedPr
>> opertyElements(XBeanNamespaceHandler.java:512)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseBeanFr
>> omExtensionElement(XBeanNamespaceHandler.java:208)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseBeanFr
>> omExtensionElement(XBeanNamespaceHandler.java:253)
>> at
>> org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parse
(XBean
>> NamespaceHandler.java:153)
>> at
>> org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse
(XBeanN
>> amespaceHandler.java:49)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>> rseCustomElement(BeanDefinitionParserDelegate.java:1118)
>> at
>>
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
>> ader.parseBeanDefinitions
(DefaultBeanDefinitionDocumentReader.java:
>> 141)
>> at
>>
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.
>> parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:39)
>> at
>>
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
>> ader.registerBeanDefinitions
>> (DefaultBeanDefinitionDocumentReader.java:93)
>> at
>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
>> rBeanDefinitions(XmlBeanDefinitionReader.java:496)
>> at
>>
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.regis
>> terBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
>> at
>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
>> eanDefinitions(XmlBeanDefinitionReader.java:406)
>> at
>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
>> nDefinitions(XmlBeanDefinitionReader.java:360)
>> at
>>
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
>> nDefinitions(XmlBeanDefinitionReader.java:335)
>> at
>>
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
>> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
>> at
>>
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
>> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
>> at
>>
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
>> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:168)
>> at
>>
org.springframework.context.support.AbstractXmlApplicationContext.loa
>> dBeanDefinitions(AbstractXmlApplicationContext.java:113)
>> at
>>
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadB
>> eanDefinitions(FileSystemXmlApplicationContext.java:168)
>> at
>>
org.springframework.context.support.AbstractRefreshableApplicationCon
>> text.refreshBeanFactory
(AbstractRefreshableApplicationContext.java:
>> 94)
>> at
>>
org.springframework.context.support.AbstractApplicationContext.refres
>> h(AbstractApplicationContext.java:294)
>> at
>>
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>> >(FileSystemXmlApplicationContext.java:149)
>> at
>>
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init
>> >(FileSystemXmlApplicationContext.java:100)
>> at org.apache.servicemix.Main.main(Main.java:80)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
>> java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
>> sorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> org.codehaus.classworlds.Launcher.launchStandard(Launcher.java:
410)
>> at org.codehaus.classworlds.Launcher.launch(Launcher.java:
>> 344)
>> at org.codehaus.classworlds.Launcher.main(Launcher.java:
461)
>> Caused by: java.lang.reflect.InvocationTargetException
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
>> java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
>> sorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanBeanDefinitionParserDelegate
>> .internalParseNestedCustomElement
>> (XBeanBeanDefinitionParserDelegate.java
>> :93)
>> ... 36 more
>> Caused by:
>>
org.springframework.beans.factory.parsing.BeanDefinitionParsingExcept
>> ion: Error 'Bean class
>> [org.apache.servicemix.components.jms.JmsInUsingJCABindin
>> g] not found' in file
>> [D:\Project\env\servicemix_m3\examples\nca\servicemix.xml]
>> at:
>> Bean ''; nested exception is java.lang.ClassNotFoundException:
>> org.apache.servic
>> emix.components.jms.JmsInUsingJCABinding
>> at
>>
org.springframework.beans.factory.parsing.FailFastProblemReporter.err
>> or(FailFastProblemReporter.java:56)
>> at
>> org.springframework.beans.factory.support.ReaderContext.error
(ReaderC
>> ontext.java:74)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.er
>> ror(BeanDefinitionParserDelegate.java:1181)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:549)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanBeanDefinitionParserDelegate
>> .parseBeanDefinitionElement
(XBeanBeanDefinitionParserDelegate.java:
>> 61)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:398)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseChildE
>> xtensionBean(XBeanNamespaceHandler.java:655)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseNested
>> PropertyViaIntrospection(XBeanNamespaceHandler.java:576)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.tryParseNes
>> tedPropertyViaIntrospection(XBeanNamespaceHandler.java:543)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.addNestedPr
>> opertyElements(XBeanNamespaceHandler.java:512)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseBeanFr
>> omExtensionElement(XBeanNamespaceHandler.java:208)
>> at
>>
org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parseBeanFr
>> omExtensionElement(XBeanNamespaceHandler.java:253)
>> at
>> org.apache.xbean.spring.context.v2b.XBeanNamespaceHandler.parse
(XBean
>> NamespaceHandler.java:153)
>> at
>> org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse
(XBeanN
>> amespaceHandler.java:49)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>> rseCustomElement(BeanDefinitionParserDelegate.java:1118)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>> rseNestedCustomElement(BeanDefinitionParserDelegate.java:1156)
>> ... 41 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.servicemix.components.jm
>> s.JmsInUsingJCABinding
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>> at java.security.AccessController.doPrivileged(Native
Method)
>> at java.net.URLClassLoader.findClass
(URLClassLoader.java:188)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>> at
>> org.codehaus.classworlds.RealmClassLoader.loadClassDirect
(RealmClassL
>> oader.java:195)
>> at
>> org.codehaus.classworlds.DefaultClassRealm.loadClassDirect
(DefaultCla
>> ssRealm.java:412)
>> at
>> org.codehaus.classworlds.DefaultClassRealm.loadClass
(DefaultClassReal
>> m.java:376)
>> at
>> org.codehaus.classworlds.RealmClassLoader.loadClass
(RealmClassLoader.
>> java:214)
>> 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:242)
>> at org.springframework.util.ClassUtils.forName
>> (ClassUtils.java
>> :160)
>> at
>>
org.springframework.beans.factory.support.BeanDefinitionReaderUtils.c
>> reateBeanDefinition(BeanDefinitionReaderUtils.java:95)
>> at
>>
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
>> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:452)
>> ... 53 more
>>
>>
>>
>> ==== servicemix.xml ===========
>>
>> <?xml version="1.0" encoding="euc-kr"?>
>> <beans xmlns="http://xbean.org/schemas/spring/1.0"
>> xmlns:spring="http://xbean.org/schemas/spring/1.0"
>> xmlns:sm="http://servicemix.apache.org/config/1.0"
>> xmlns:my="http://servicemix.apache.org/demo/">
>>
>>
>> <!-- the JBI container -->
>> <sm:container spring:id="jbi" rootDir="./data/smx"
>> useMBeanServer="true"
>> createMBeanServer="true" installationDirPath="./
>> install"
>> deploymentDirPath="./deploy"
>> monitorInstallationDirectory="true"
dumpStats="true"
>> statsInterval="10"
>> transactionManager="#transactionManager">
>>
>> <sm:activationSpecs>
>>
>>
>> <!-- Subscribe to a JMS destination -->
>> <sm:activationSpec componentName="inputReceiver"
>>
>> service="my:inputReceiver"
>>
>> destinationService="my:outputSender">
>> <sm:component>
>> <bean
>> class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
>> <property name="jcaContainer"
ref="jencks"/>
>> <property name="activationSpec">
>> <bean class="
>> org.apache.activemq.ra.ActiveMQActivationSpec">
>> <property name="destination"
>> value="demo.org.servicemix.source"/>
>> <property name="destinationType"
value="
>> javax.jms.Topic"/>
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>>
>> <!-- Publish the result to a JMS destination -->
>> <sm:activationSpec componentName="outputSender"
>> service="my:outputSender">
>> <sm:component>
>> <bean class="nca.TestPojo">
>> <property name="template">
>> <bean class="
>> org.springframework.jms.core.JmsTemplate">
>> <property name="connectionFactory"
>> ref="jmsFactory"/>
>> <property
name="defaultDestinationName"
>> value="demo.org.servicemix.result"/>
>> <property name="pubSubDomain"
>> value="true"/>
>> </bean>
>> </property>
>> </bean>
>> </sm:component>
>> </sm:activationSpec>
>> </sm:activationSpecs>
>> </sm:container>
>>
>> <!-- the JCA container -->
>> <bean id="jencks" class="org.jencks.JCAContainer"
>> singleton="true">
>>
>> <!-- lets use the default configuration of work
>> manager
>> and transaction
>> manager-->
>> <property name="bootstrapContext">
>> <bean
>> class="
>> org.jencks.factory.BootstrapContextFactoryBean">
>> <property name="threadPoolSize"
>> value="25"
>> />
>> </bean>
>> </property>
>>
>> <!-- the JCA Resource Adapter -->
>> <property name="resourceAdapter">
>> <bean id="activeMQResourceAdapter"
>> class="
>> org.apache.activemq.ra.ActiveMQResourceAdapter" singleton="true">
>> <property name="serverUrl"
>> value="tcp://localhost:
>> 61616" />
>> </bean>
>> </property>
>> </bean>
>>
>> <!-- message broker -->
>> <bean id="broker" class="
>> org.apache.activemq.xbean.BrokerFactoryBean">
>> <property name="config"
>> value="classpath:activemq.xml" />
>> </bean>
>>
>> <bean id="transactionContextManager"
>> class="
>> org.jencks.factory.TransactionContextManagerFactoryBean"/>
>> <bean id="transactionManager"
>> class="
>> org.jencks.factory.GeronimoTransactionManagerFactoryBean" />
>>
>> <bean id="jmsFactory"
>>
>> class="org.apache.activemq.pool.PooledConnectionFactory">
>> <property name="connectionFactory">
>> <bean class="
>> org.apache.activemq.ActiveMQConnectionFactory">
>> <property name="brokerURL">
>>
>> <value>tcp://localhost:
>> 61616</value>
>> </property>
>> </bean>
>> </property>
>> </bean>
>>
>> </beans>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/run-error-tf2224917.html#a6165202
>> Sent from the ServiceMix - User forum at Nabble.com.
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet