I modified my xbean.xml as per your suggestion. It looks as below
<beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
xmlns:test="http://test" xmlns:amq="http://activemq.org/config/1.0"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance"
xmlns:amqpool="http://jencks.org/amqpool/2.0"
xmlns:amqra="http://activemq.apache.org/schema/ra"
xsi:schemaLocation="http://servicemix.apache.org/jms/1.0
http://servicemix.apache.org/schema/servicemix-jms-3.2.3.xsd
http://activemq.org/config/1.0
http://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- JMS Consumer -->
<jms:endpoint id="jmsConsumer" service="test:MyConsumerService"
endpoint="jmsEndpoint"
targetService="test:MyBeanConsumerService"
targetendpoint="beanendpoint" role="consumer"
processorName="jca"
defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
connectionFactory="#connectionFactory"
synchronous="true" resourceAdapter="#amqResourceAdapter"
bootstrapContext="#bootstrapContext" rollbackOnError="true">
<jms:activationSpec>
<amqra:activationSpec destination="yet.another.queue"
destinationType="javax.jms.Queue"
maximumRedeliveries="5"
initialRedeliveryDelay="10000"
useExponentialBackOff="false" />
</jms:activationSpec>
</jms:endpoint>
<bean id="bootstrapContext"
class="org.jencks.factory.BootstrapContextFactoryBean">
<property name="threadPoolSize" value="15" />
</bean>
<amqra:resourceAdapter id="amqResourceAdapter"
serverUrl="tcp://localhost:61616" />
<bean id="connectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" />
</bean>
</beans>
At the deployement time I am geeting following error. Do I need to setup
transaction manager? Please suugest.
2010-04-13 11:03:00,442| 11:03:00,442 | ERROR | Timer-1 | Deployer
| cemix.jbi.deployer.impl.Deployer 362 | Error handling bundle start event
javax.jbi.JBIException: java.lang.Exception: Error deploying SU
simplejmsConsumer
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:101)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:354)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:284)
at
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:771)
at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:700)
at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:597)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3382)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1517)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:770)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:751)
at
org.apache.servicemix.kernel.filemonitor.FileMonitor.refreshPackagesAndStartOrUpdateBundles(FileMonitor.java:549)
at
org.apache.servicemix.kernel.filemonitor.FileMonitor.onFilesChanged(FileMonitor.java:299)
at
org.apache.servicemix.kernel.filemonitor.FileMonitor$1.filesChanged(FileMonitor.java:151)
at
org.apache.servicemix.kernel.filemonitor.Scanner.reportBulkChanges(Scanner.java:431)
at
org.apache.servicemix.kernel.filemonitor.Scanner.reportDifferences(Scanner.java:327)
at
org.apache.servicemix.kernel.filemonitor.Scanner.scan(Scanner.java:261)
at
org.apache.servicemix.kernel.filemonitor.Scanner$1.run(Scanner.java:221)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: java.lang.Exception: Error deploying SU simplejmsConsumer
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:210)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
... 18 more
Caused by: javax.jbi.management.DeploymentException: <component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message">
<component-name>servicemix-jms</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>Error creating bean with
name 'jmsConsumer' defined in
file
[C:\phaseforward\workspace\servicemix\apache-servicemix-4.0.0\data\jbi\simpleconsumer-sa\sus\simplejmsConsumer\xbean.xml]:
Cannot resolve reference to bean 'bootstrapContext' while setting bean
property 'bootstrapContext'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'bootstrapContext' defined in file
[C:\phaseforward\workspace\servicemix\apache-servicemix-4.0.0\data\jbi\simpleconsumer-sa\sus\simplejmsConsumer\xbean.xml]:
Invocation of init method failed; nested exception is
org.springframework.beans.FatalBeanException: Geronimo transaction manager
was not set</loc-message>
<stack-trace><![CDATA[org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'jmsConsumer' defined in file
[C:\phaseforward\workspace\servicemix\apache-servicemix-4.0.0\data\jbi\simpleconsumer-sa\sus\simplejmsConsumer\xbean.xml]:
Cannot resolve reference to bean 'bootstrapContext' while setting bean
property 'bootstrapContext'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'bootstrapContext' defined in file
[C:\phaseforward\workspace\servicemix\apache-servicemix-4.0.0\data\jbi\simpleconsumer-sa\sus\simplejmsConsumer\xbean.xml]:
Invocation of init method failed; nested exception is
org.springframework.beans.FatalBeanException: Geronimo transaction manager
was not set
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:87)
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.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:100)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:204)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.install(ServiceAssemblyInstaller.java:85)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.onBundleStarted(Deployer.java:354)
at
org.apache.servicemix.jbi.deployer.impl.Deployer.bundleChanged(Deployer.java:284)
at
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:771)
at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:700)
at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:597)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3382)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1517)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:770)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:751)
at
org.apache.servicemix.kernel.filemonitor.FileMonitor.refreshPackagesAndStartOrUpdateBundles(FileMonitor.java:549)
at
org.apache.servicemix.kernel.filemonitor.FileMonitor.onFilesChanged(FileMonitor.java:299)
at
org.apache.servicemix.kernel.filemonitor.FileMonitor$1.filesChanged(FileMonitor.java:151)
at
org.apache.servicemix.kernel.filemonitor.Scanner.reportBulkChanges(Scanner.java:431)
at
org.apache.servicemix.kernel.filemonitor.Scanner.reportDifferences(Scanner.java:327)
at
org.apache.servicemix.kernel.filemonitor.Scanner.scan(Scanner.java:261)
at
org.apache.servicemix.kernel.filemonitor.Scanner$1.run(Scanner.java:221)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'bootstrapContext' defined in file
[C:\phaseforward\workspace\servicemix\apache-servicemix-4.0.0\data\jbi\simpleconsumer-sa\sus\simplejmsConsumer\xbean.xml]:
Invocation of init method failed; nested exception is
org.springframework.beans.FatalBeanException: Geronimo transaction manager
was not set
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
... 39 more
Caused by: org.springframework.beans.FatalBeanException: Geronimo
transaction manager was not set
at
org.jencks.factory.BootstrapContextFactoryBean.afterPropertiesSet(BootstrapContextFactoryBean.java:75)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
... 49 more
]]></stack-trace>
</msg-loc-info>
</exception-info>
</task-result-details>
</component-task-result-details>
</component-task-result>
at
org.apache.servicemix.common.ManagementSupport.failure(ManagementSupport.java:46)
at
org.apache.servicemix.common.AbstractDeployer.failure(AbstractDeployer.java:43)
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:117)
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.deployer.artifacts.ServiceUnitImpl.deploy(ServiceUnitImpl.java:100)
at
org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyInstaller.deploySUs(ServiceAssemblyInstaller.java:204)
... 19 more
2010-04-13 11:03:00,442| 11:03:00,442 | INFO | Timer-1 |
FileMonitor | x.kernel.filemonitor.FileMonitor 550 |
Started: simpleconsumer-sa [428]
iocanel wrote:
>
>
> gnanda wrote:
>>
>> Is this endpoint backed by spring's DefaultMessageListenerContainer? I
>> would like to use the jms consumer in asynchronous way. I see you have
>> synchronous="true" setting with jms endpoint.Would it work with
>> synchronous="false" too?
>>
>
> Since your consumer is transactional I can't see any added value in having
> it being asynchronous. Eventually you will be constrained by the maximum
> number of sessions or open transactions.
>
> Back to your question. No I don't think that it is backed by
> DefaultMessageListenerContainer (a good thing IMHO). I haven't tried using
> jms endpoint as transactional and asynchronous.
>
>
--
View this message in context:
http://old.nabble.com/SMX4-handling-transaction-tp28199896p28231560.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.