Ok, This must be the most frustrating thing I've encountered yet.

Seems like I can not load the commons-net jar using the <classpath> in
servicemix.xml alone.  When debugging, I defined only one jar in my
servicemix.xml.  It looks like this:

******************                           
        <classpath>
                <location>lib/commons-net-1.4.1.jar</location>
        </classpath>

        <bean id="ftpClientPool"
class="org.apache.servicemix.components.net.FTPClientPool">
                <property name="host" value="homer012"/>
        <property name="username" value="system"/>
        <property name="password" value="*****"/>
                <property name="binaryMode" value="true"/>
        </bean> 
.....
********************


I packaged my SA and SU like this:

*********************
test-sa.zip
   -->test-su.zip
   -->/META-INF
       -->jbi.xml

test-su.zip
   -->/lib
       -->commons-net-1.4.1.jar
   -->servicemix.xml
*********************

When I deployed my SA to servicemix, the service-assemblies directory looks
like this:

*********************
%servicemix_home%\data\smx\service-assemblies\test_sa\version_1\sus\servicemix-lwcontainer\test_sa
   -->/lib
       -->commons-net-1.4.1.jar
   -->servicemix.xml
*********************

I verified the <classpath> defined in servicemix.xml in the exploded
directory and it has the location: lib/commons-net-1.4.1.jar

When I run servicemix, this is the exception that I get:

*****************************
09:13:22,581 | ERROR | Thread-9   | AutoDeploymentService    |
ramework.AutoDeploymentService  308 | Failed to update Service Assembly:
test_sa
java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message";
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
        <component-name>servicemix-lwcontainer</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>deploy</task-id>
                        <task-result>FAILED</task-result>
                        <message-type>ERROR</message-type>
                        <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Could not deploy xbean service unit</loc-message>
</msg-loc-info>
</task-status-msg>
                        <exception-info>
                                <nesting-level>1</nesting-level>
                                <msg-loc-info>
                                        <loc-token/>
                                
<loc-message>org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document from file
[C:\apache-servicemix-3.0-incubating\data\smx\service-assemblies\test_sa\version_1\sus\servicemix-lwcontainer\test_sa\servicemix.xml];
nested exception is
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Error 'Class that bean class
[org.apache.servicemix.components.net.FTPClientPool] depends on not found'
in file
[C:\apache-servicemix-3.0-incubating\data\smx\service-assemblies\test_sa\version_1\sus\servicemix-lwcontainer\test_sa\servicemix.xml]
at:
Bean 'ftpClientPool'; nested exception is java.lang.NoClassDefFoundError:
org/apache/commons/net/SocketClient</loc-message>
                                
<stack-trace><![CDATA[org.apache.xbean.kernel.ServiceRegistrationException:
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected
exception parsing XML document from file
[C:\apache-servicemix-3.0-incubating\data\smx\service-assemblies\test_sa\version_1\sus\servicemix-lwcontainer\test_sa\servicemix.xml];
nested exception is
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Error 'Class that bean class
[org.apache.servicemix.components.net.FTPClientPool] depends on not found'
in file
[C:\apache-servicemix-3.0-incubating\data\smx\service-assemblies\test_sa\version_1\sus\servicemix-lwcontainer\test_sa\servicemix.xml]
at:
Bean 'ftpClientPool'; nested exception is java.lang.NoClassDefFoundError:
org/apache/commons/net/SocketClient
        at
org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService(ServiceManagerRegistry.java:424)
        at
org.apache.xbean.kernel.standard.StandardKernel.registerService(StandardKernel.java:220)
        at
org.apache.xbean.server.spring.loader.SpringLoader.load(SpringLoader.java:154)
        at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:81)
        at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
        at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:527)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:295)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$2.run(AutoDeploymentService.java:592)
        at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document from file
[C:\apache-servicemix-3.0-incubating\data\smx\service-assemblies\test_sa\version_1\sus\servicemix-lwcontainer\test_sa\servicemix.xml];
nested exception is
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Error 'Class that bean class
[org.apache.servicemix.components.net.FTPClientPool] depends on not found'
in file
[C:\apache-servicemix-3.0-incubating\data\smx\service-assemblies\test)sa\version_1\sus\servicemix-lwcontainer\test_sa\servicemix.xml]
at:
Bean 'ftpClientPool'; nested exception is java.lang.NoClassDefFoundError:
org/apache/commons/net/SocketClient
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:423)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:360)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:168)
        at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
        at
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadBeanDefinitions(FileSystemXmlApplicationContext.java:168)
        at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:294)
        at
org.apache.xbean.server.spring.configuration.SpringConfiguration.<init>(SpringConfiguration.java:63)
        at
org.apache.xbean.server.spring.configuration.SpringConfigurationServiceFactory.createService(SpringConfigurationServiceFactory.java:106)
        at
org.apache.xbean.kernel.standard.ServiceManager.start(ServiceManager.java:420)
        at
org.apache.xbean.kernel.standard.ServiceManager.initialize(ServiceManager.java:200)
        at
org.apache.xbean.kernel.standard.RegistryFutureTask$RegisterCallable.call(RegistryFutureTask.java:110)
        at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
        at
org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService(ServiceManagerRegistry.java:409)
        ... 11 more
Caused by:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Error 'Class that bean class
[org.apache.servicemix.components.net.FTPClientPool] depends on not found'
in file
[C:\apache-servicemix-3.0-incubating\data\smx\service-assemblies\test_sa\version_1\sus\servicemix-lwcontainer\test_sa\servicemix.xml]
at:
Bean 'ftpClientPool'; nested exception is java.lang.NoClassDefFoundError:
org/apache/commons/net/SocketClient
        at
org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:56)
        at
org.springframework.beans.factory.support.ReaderContext.error(ReaderContext.java:74)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:1181)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:552)
        at
org.apache.xbean.spring.context.v2b.XBeanBeanDefinitionParserDelegate.parseBeanDefinitionElement(XBeanBeanDefinitionParserDelegate.java:61)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:398)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:367)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:162)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:138)
        at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:39)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:496)
        at
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:406)
        ... 27 more
Caused by: java.lang.NoClassDefFoundError:
org/apache/commons/net/SocketClient
        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.createBeanDefinition(BeanDefinitionReaderUtils.java:95)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:452)
        ... 37 more
]]></stack-trace>
                                </msg-loc-info>
                        </exception-info>
                </task-result-details>
        </component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>

        at
org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:121)
        at
org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:107)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:563)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:295)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$2.run(AutoDeploymentService.java:592)
        at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Thread.java:595)
*****************************************

If I stick the commons-net-1.4.1.jar file into the
%servicemix_home%\lib\optional directory (while removing the classpath
dependency from servicemix.xml), everything works fine.  Am I missing
something here?  BTW, this happens on ServiceMix 3.0 running on Windows XP
w/SP2.  Any help would be appreciated.  Thanks in advance.

-los


gnodet wrote:
> 
> The first one works, as shown in several examples
> in servicemix distribution.
> 
> On 10/12/06, moraleslos <[EMAIL PROTECTED]> wrote:
>>
>> ok, I guess the issue i'm having with this is when I have more than one
>> dependency.  I can get it working with the example you described, but
>> when I
>> need more than 1 jar, how do I declare this?  For example, these don't
>> work:
>>   <classpath>
>>     <location>lib/commons-net-1.4.1.jar</location>
>>     <location>lib/jaxen-1.1-beta-11.jar</location>
>>   </classpath>
>>
>>
>>   <classpath>
>>    
>> <location>lib/commons-net-1.4.1.jar;lib/jaxen-1.1-beta-11.jar</location>
>>   </classpath>
>>
>>
>>   <classpath>
>>    
>> <location>lib/commons-net-1.4.1.jar,lib/jaxen-1.1-beta-11.jar</location>
>>   </classpath>
>>
>>
>>   <classpath>
>>     <location>lib/*.jar</location>
>>   </classpath>
>>
>>
>> So how do I configure the multiple dependencies in the servicemix.xml
>> file?
>> Thanks.
>>
>> -los
>>
>>
>>
>> gnodet wrote:
>> >
>> > You should bundle these jars in the SU.
>> > In addition you currently need to specify
>> > these jars in the servicemix.xml file
>> > in your SU using:
>> >   <classpath>
>> >     <location>lib/commons-net-1.4.1.jar</location>
>> >   </classpath>
>> >
>> > On 10/9/06, moraleslos <[EMAIL PROTECTED]> wrote:
>> >>
>> >> Hi,
>> >>
>> >> I'm finally coming along with my first SA deployment.  My question is
>> >> that
>> >> I'm currently trying to run my FTPPoller class but there are some
>> >> dependencies that need to be addressed, i.e.
>> >> org/apache/commons/net/SocketClient, etc.  I've been dropping these
>> >> dependent jars into the %servicemix_home%/lib/optional directory.
>> >> Instead
>> >> of doing this, can I just package the dependent jars inside the SA (or
>> >> the
>> >> SU) itself, e.g.:
>> >>
>> >> test-sa.zip
>> >>    -->/lib
>> >>       -->commons-net-1.4.1.jar
>> >>    -->/META-INF
>> >>       -->jbi.xml
>> >>    -->test-su.zip
>> >>
>> >> Thanks in advance.
>> >>
>> >> -los
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/class-dependencies-in-SA--tf2412903.html#a6725809
>> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > Cheers,
>> > Guillaume Nodet
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/class-dependencies-in-SA--tf2412903.html#a6785645
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> 
> 

-- 
View this message in context: 
http://www.nabble.com/class-dependencies-in-SA--tf2412903.html#a6796889
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to