I think that when I set "transacted=true" then it ignores the property "useAsyncSend=true" set on the connection factory.
I am not sure if those two properties can be used together, but they probably can't and this why I have performance issues. On Tue, Dec 7, 2010 at 3:46 PM, Ioannis Canellos <ioca...@gmail.com> wrote: > I will do so. > > I will also check the tx scenarios described in the "Camel in Action". > > > > On Tue, Dec 7, 2010 at 3:36 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > >> Check some of the TX unit tets in camel-jms and compare notes. >> >> >> On Tue, Dec 7, 2010 at 2:20 PM, Ioannis Canellos <ioca...@gmail.com> >> wrote: >> > Hi Claus, >> > >> > thanks for your response. >> > >> > I had the luck to watch that webinar and I also have the slides, the do >> help >> > in increasing the overall performance. But when I set transaction=true >> on >> > the activemq component, the performance can degrade form 2000 msg/sec to >> 5 >> > msg/sec. >> > >> > Regarding the number of connections, even if I increase it to 10, 20 or >> more >> > I don't see any difference at all. >> > >> > I feel that the problem is in my camel configuration (not activemq) >> since I >> > didn't have issues when I was use servicemix and activemq. >> > >> > Thanks again! >> > >> > On Tue, Dec 7, 2010 at 3:08 PM, Claus Ibsen <claus.ib...@gmail.com> >> wrote: >> > >> >> Ask at AMQ forum as its generally how to optimize and setup AMQ. >> >> >> >> Also check out maybe some of the webinars by Rob Davies on advanced >> >> and high performance AMQ stuff >> >> The webinars is avail at fusesource website. >> >> >> >> And it looks like you only got 1 connection in your pool? >> >> maxConnections=1 >> >> >> >> >> >> >> >> On Mon, Nov 29, 2010 at 10:38 AM, Ioannis Canellos <ioca...@gmail.com> >> >> wrote: >> >> > I am using camel 2.5.0 and activemq 5.4.0 to create a simple route of >> the >> >> > form dataset -> activemq:queue.in -> activemq:queue.out -> dataset. >> >> > All are working fine and I the performance is more than 1K >> messages/sec. >> >> > >> >> > However if I set transactions=true on the activemq component >> >> configuration, >> >> > then I experience serious performance issues (5 messages/sec). >> >> > >> >> > I am testing using camel:run maven plugin. My configuration is the >> >> > following: >> >> > >> >> > <beans >> >> > xmlns="http://www.springframework.org/schema/beans" >> >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> > xmlns:amq="http://activemq.apache.org/schema/core" >> >> > xmlns:camel="http://camel.apache.org/schema/spring" >> >> > xmlns:context="http://www.springframework.org/schema/context" >> >> > xmlns:aop="http://www.springframework.org/schema/aop" >> >> > xsi:schemaLocation=" >> http://www.springframework.org/schema/beans >> >> > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd >> >> > http://activemq.apache.org/schema/core >> >> > http://activemq.apache.org/schema/core/activemq-core.xsd >> >> > http://www.springframework.org/schema/context >> >> > http://www.springframework.org/schema/context/spring-context-3.0.xsd >> >> > http://www.springframework.org/schema/aop >> >> > http://www.springframework.org/schema/aop/spring-aop-3.0.xsd >> >> > http://camel.apache.org/schema/spring >> >> > http://camel.apache.org/schema/spring/camel-spring.xsd"> >> >> > >> >> > <!-- Allows us to use system properties as variables in this >> >> > configuration file --> >> >> > <bean >> >> > >> >> >> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> >> >> > >> >> > <!-- ActiveMQ Broker --> >> >> > <broker id="broker" xmlns="http://activemq.apache.org/schema/core >> " >> >> > brokerName="localhost" dataDirectory="data" >> >> > useJmx="true" persistent="true" advisorySupport="false"> >> >> > <destinationPolicy> >> >> > <policyMap> >> >> > <policyEntries> >> >> > <policyEntry queue=">" producerFlowControl="false" >> >> > optimizedDispatch="true"> >> >> > <pendingQueuePolicy> >> >> > <vmQueueCursor/> >> >> > </pendingQueuePolicy> >> >> > </policyEntry> >> >> > </policyEntries> >> >> > </policyMap> >> >> > </destinationPolicy> >> >> > >> >> > <persistenceAdapter> >> >> > <kahaDB directory="data/kahadb" >> enableIndexWriteAsync="true"/> >> >> > </persistenceAdapter> >> >> > >> >> > <transportConnectors> >> >> > <transportConnector name="nio" uri="nio://0.0.0.0:61616 >> "/> >> >> > </transportConnectors> >> >> > </broker> >> >> > >> >> > <!-- Camel Context --> >> >> > <camelContext xmlns="http://camel.apache.org/schema/spring" >> >> > id="messaging" depends-on="broker"> >> >> > <route> >> >> > <from uri="dataset:loadtest?produceDelay=-1"/> >> >> > <to uri="activemq:queue:queue.in"/> >> >> > </route> >> >> > </camelContext> >> >> > >> >> > <!-- Camel Components --> >> >> > <bean id="activemq" >> >> > class="org.apache.activemq.camel.component.ActiveMQComponent"> >> >> > <property name="connectionFactory" >> ref="pooledConnectionFactory"/> >> >> > <!--property name="transacted" value="true"/> >> >> > <property name="transactionManager" ref="transactionManager"/> >> >> > <property name="transactionTimeout" value="300000"/--> >> >> > <property name="acknowledgementModeName" >> >> value="AUTO_ACKNOWLEDGE"/> >> >> > <property name="cacheLevelName" value="CACHE_AUTO"/> >> >> > </bean> >> >> > >> >> > >> >> > <bean id="connectionFactory" >> >> > class="org.apache.activemq.ActiveMQConnectionFactory"> >> >> > <property name="brokerURL" value="nio://127.0.0.1:61616"/> >> >> > <property name="useAsyncSend" value="true"/> >> >> > </bean> >> >> > >> >> > <bean id="pooledConnectionFactory" >> >> > class="org.apache.activemq.pool.PooledConnectionFactory"> >> >> > <property name="connectionFactory" ref="connectionFactory"/> >> >> > <property name="maxConnections" value="1"/> >> >> > <property name="maximumActive" value="500"/> >> >> > </bean> >> >> > >> >> > <!-- DataSet --> >> >> > <bean id="loadtest" >> >> > class="org.apache.camel.component.dataset.SimpleDataSet"> >> >> > <property name="size" value="100000"/> >> >> > </bean> >> >> > >> >> > <!-- Transaction Manager --> >> >> > <bean id="transactionManager" >> >> > class="org.jencks.factory.TransactionManagerFactoryBean"/> >> >> > </beans> >> >> > >> >> > >> >> > -- >> >> > *Ioannis Canellos* >> >> > http://iocanel.blogspot.com >> >> > Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com >> > >> >> > >> >> >> >> >> >> >> >> -- >> >> Claus Ibsen >> >> ----------------- >> >> FuseSource >> >> Email: cib...@fusesource.com >> >> Web: http://fusesource.com >> >> Twitter: davsclaus >> >> Blog: http://davsclaus.blogspot.com/ >> >> Author of Camel in Action: http://www.manning.com/ibsen/ >> >> >> > >> > >> > >> > -- >> > *Ioannis Canellos* >> > http://iocanel.blogspot.com >> > >> > Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com> >> > >> >> >> >> -- >> Claus Ibsen >> ----------------- >> FuseSource >> Email: cib...@fusesource.com >> Web: http://fusesource.com >> Twitter: davsclaus >> Blog: http://davsclaus.blogspot.com/ >> Author of Camel in Action: http://www.manning.com/ibsen/ >> > > > > -- > *Ioannis Canellos* > http://iocanel.blogspot.com > > Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com> > > > -- *Ioannis Canellos* http://iocanel.blogspot.com Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>