Ok, sorry. I just realized this issue was more Spring related.

Benoît

Le 29 juil. 08 à 01:51, "Benoît Clouet" <[EMAIL PROTECTED]> a écrit :

Hello the list,

I'm currently stuck on an I can't manage to solve. Don't know if it is
a Servicemix or a Tomcat related issue.
First my environment :
- Tomcat 5.5.26
- Servicemix 3.2.1 deployed as a war inside Tomcat
- Java 1.5

I've configured a service-assembly where there is a file-sender
service-unit that I would like to configure through parameters coming
from the Tomcat JNDI tree (the target dir). I'm hoping that by doing
this way, I can avoid to rely on the deployment layout.

The servicemix.xml of the webapp contains (it's only a snip)  :
 <sm:container id="jbi"
               rootDir="${jbi.root}/data"
               MBeanServer="#server"
               monitorInstallationDirectory="true"
               installationDirPath="${jbi.root}/deploy"
               monitorDeploymentDirectory="true"
               deploymentDirPath="${jbi.root}/deploy">

I've added in my file service unit this xbean.xml :
   <file:sender service="b:File" endpoint="endpoint">
       <property name="directory">
<bean class="org.springframework.jndi.JndiObjectFactoryBean">
               <property name="jndiName">
                   <value>java:comp/env/Inbox</value>
               </property>
           </bean>
       </property>
   </file:sender>

In my Tomcat server.xml I've got :
<Context docBase="/Users/benoitclouet/apache-servicemix-web-3.2.1"
path="/apache-servicemix-web"
                   reloadable="true" useNaming="true">
                   <Environment name="Inbox" type="java.lang.String"
value="/Users/benoitclouet/Documents/temp/inbox" />
</Context>

I customized a bit the servicemix webapp so my web.xml contains :
   <resource-env-ref>
       <description>My dir</description>
       <resource-env-ref-name>Inbox</resource-env-ref-name>
       <resource-env-ref-type>java.lang.String</resource-env-ref-type>
   </resource-env-ref>

I also added in the webapp a META-INF/context.xml containing :
<ResourceLink name="Inbox global="Inbox" type="java.lang.String" />

But I doesn't work as expected (the file sender is expected to write
his files in the dir /Users/benoitclouet/Documents/temp/inbox).

In fact, I even get an error at service-archive deployment :
org.apache.xbean.kernel.ServiceRegistrationException:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name
'org.apache.servicemix.file.FileSenderEndpoint' defined in file
[/Users/benoitclouet/Documents/temp/data/service-assemblies/inbound- sa/version_2/sus/servicemix-file/inbound-su-file/xbean.xml]:
Cannot create inner bean
'org.springframework.jndi.JndiObjectFactoryBean#1b289f' of type
[org.springframework.jndi.JndiObjectFactoryBean] while setting bean
property 'directory'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name
'org.springframework.jndi.JndiObjectFactoryBean#1b289f' defined in
file [/Users/benoitclouet/Documents/temp/data/service-assemblies/ inbound-sa/version_2/sus/servicemix-file/inbound-su-file/xbean.xml]:
Invocation of init method failed; nested exception is
javax.naming.NameNotFoundException: Name java:comp is not bound in
this Context
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:152) at org. apache. servicemix. common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java: 83) 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:508) at org. apache. servicemix. jbi. framework. AutoDeploymentService. updateServiceAssembly(AutoDeploymentService.java:350) at org. apache. servicemix. jbi. framework. AutoDeploymentService.updateArchive(AutoDeploymentService.java:253) at org. apache. servicemix. jbi. framework. AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:647) at org.apache.servicemix.jbi.framework.AutoDeploymentService.access $2(AutoDeploymentService.java:623) at org.apache.servicemix.jbi.framework.AutoDeploymentService $1.run(AutoDeploymentService.java:614)
   at java.util.TimerThread.mainLoop(Timer.java:512)
   at java.util.TimerThread.run(Timer.java:462)

After spending some time crawling, and debugging the deployment
process to find a way forward, I must confess, I'm completely stuck.
The only post I found wasn't answered :
http://www.nabble.com/JNDI-issue-running-under-Tomcat-tp8930143p8930143.html
By reading this post I'm prety sure samg was trying to do the same as
me, maybe he has found a solution he could provide ?

Any help welcome.

Benoît

Reply via email to