I seems to have problem sending messages using JmsSenderComponent
I have the following configuration:
inputQueue(TibcoQueue) --> sm:inputReceiver --> sm:outputSender--outputQueue(TibcoQueue)
I am using JCA for inputReceiver and JmsSenderComponent for the outputSender.
I am using GenericRaJMS & Jencks Constainer for the inputReceiver and using the connectionFactory from the GenericRAJMS for the outSender connectionFactory. I have about 10000 messages in the inputQueue.
Everything works fine but after 1054 messages the messages are NOT send to the outputSender. Debug log snippets before and after 1054 messages.
When everything is working I have the following in the log file
DEBUG - JmsInBinding.onMessage(52) | Received: TextMessage
INFO - DeliveryChannelImpl.createExchangeFactory(162) | default destination serviceName for inputReceiver = {http://servicemix.apache.org/demo/}outputSender
DEBUG - Broker.resolveAddress(369) | Routing exchange [EMAIL PROTECTED] to: ServiceEndpoint[service={http://servicemix.apache.org/demo/}outputSender,endpoint=outputSender]
DEBUG - AbstractFlow.send(114) | Called Flow send
DEBUG - JmsSenderComponent$1.createMessage(74) | Sending message to: servicemix.queue.output
DEBUG - JmsTemplate.doSend(570) | Sending created message
After about sending 1054 messages - I do not see any calls to JmsSenderComponent or JmsTemplate and I do not see any errors or warning. It suddenly stops sending messages to the outputSender.
DEBUG - JmsInBinding.onMessage(52) | Received:
DEBUG - AbstractFlow.send(114) | Called Flow send
INFO - DeliveryChannelImpl.createExchangeFactory(162) | default destination serviceName for inputReceiver = {http://servicemix.apache.org/demo/}outputSender
DEBUG - Broker.resolveAddress(369) | Routing exchange [EMAIL PROTECTED] to: ServiceEndpoint[service={http://servicemix.apache.org/demo/}outputSender,endpoint=outputSender]
I am having the same problem with 2.02, 2,1 & 3.0 versions of servicemix.
thanks for help
Sairam
/*********************** servicemix.xml ***************************/
<?xml version="1.0" encoding="UTF-8"?>
<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="./wdir" useMBeanServer="true"
createMBeanServer="true" installationDirPath="./install"
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 xmlns="http://xbean.org/schemas/spring/1.0" class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">
<property name="jcaContainer" ref="jencks2"/>
<property name="activationSpec">
<bean class="com.sun.genericra.inbound.ActivationSpec">
<property name="destinationJndiName" value="servicemix.queue.input"/>
<property name="destinationType" value="javax.jms.Queue"/>
<property name="connectionFactoryJndiName" value="XAQueueConnectionFactory"/>
<property name="jndiProperties" value="java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory,java.naming.provider.url="" />
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
<!-- Subscribe to a JMS destination -->
<sm:activationSpec componentName="outputSender"
service="my:outputSender">
<sm:component>
<bean xmlns="http://xbean.org/schemas/spring/1.0" class="org.apache.servicemix.components.jms.JmsSenderComponent" >
<property name="template">
<bean class="org.springframework.jms.core.JmsTemplate" singleton="false">
<property name="connectionFactory"><ref bean="genericConnectionFactory"/></property>
<property name="destinationResolver"><ref bean="myJmsDestinationResolver"/></property>
<property name="defaultDestinationName" value="servicemix.queue.output"/>
<property name="pubSubDomain" value="false"/>
</bean>
</property>
</bean>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
<!-- the JCA container -->
<bean id="jencks2" 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>
<property name="resourceAdapter"><ref local="genericResourceAdapter" /></property>
</bean>
<bean id="genericResourceAdapter" class="com.sun.genericra.GenericJMSRA">
<property name="providerIntegrationMode" value="jndi"/>
<property name="connectionFactoryClassName" value="com.tibco.tibjms.TibjmsConnectionFactory" />
<property name="queueConnectionFactoryClassName" value="com.tibco.tibjms.TibjmsQueueConnectionFactory" />
<property name="topicConnectionFactoryClassName" value="com.tibco.tibjms.TibjmsTopicConnectionFactory" />
<property name="XAConnectionFactoryClassName" value="com.tibco.tibjms.TibjmsXAConnectionFactory" />
<property name="XATopicConnectionFactoryClassName" value="com.tibco.tibjms.TibjmsXATopicConnectionFactory" />
<property name="XAQueueConnectionFactoryClassName" value="com.tibco.tibjms.TibjmsXAQueueConnectionFactory" />
<property name="queueClassName" value="javax.jms.Queue" />
<property name="topicClassName" value="javax.jms.Topic" />
<property name="supportsXA" value="true"/>
<property name="logLevel" value="finest"/>
</bean>
<bean id="genericManagedConnectionFactory" class="com.sun.genericra.outbound.ManagedJMSConnectionFactory">
<property name="providerIntegrationMode" value="jndi"/>
<property name="resourceAdapter"><ref local="genericResourceAdapter"/></property>
<property name="connectionFactoryJndiName" value="XAQueueConnectionFactory"/>
<property name="jndiProperties" value="java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory,java.naming.provider.url="" />
</bean>
<bean id="genericConnectionFactory" class="org.springframework.jca.support.LocalConnectionFactoryBean">
<property name="managedConnectionFactory"><ref local="genericManagedConnectionFactory"/></property>
<property name="connectionManager"><ref local="genericConnectionManager"/></property>
</bean>
<bean id="genericConnectionManager" class="org.jencks.factory.ConnectionManagerFactoryBean">
<property name="poolingSupport" ref="poolingSupport"/>
<property name="transactionContextManager" ref="transactionContextManager"/>
</bean>
<bean id="poolingSupport" class="org.jencks.factory.SinglePoolFactoryBean">
<property name="maxSize">
<value>10</value>
</property>
<property name="minSize">
<value>1</value>
</property>
<property name="blockingTimeoutMilliseconds">
<value>60000</value>
</property>
<property name="idleTimeoutMinutes">
<value>600</value>
</property>
<property name="matchOne">
<value>true</value>
</property>
<property name="matchAll">
<value>true</value>
</property>
<property name="selectOneAssumeMatch">
<value>true</value>
</property>
</bean>
<bean id="transactionContextManager" class="org.jencks.factory.TransactionContextManagerFactoryBean"/>
<bean id="transactionManager" class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" />
</beans>
View this message in context: Problems with JmsSenderComponent?
Sent from the servicemix - user forum at Nabble.com.
