I'm looking into it now. Can you confirm producer.send(tempQueue, jmsResponse) is async in my case. I wondering if the call becomes a sync call due to the method specifying a queue and whether some sync checks need to be done before the message is sent?
James.Strachan wrote: > > On 2/20/07, Paul French <[EMAIL PROTECTED]> wrote: >> >> Any ideas? > > Am afraid not. Someone might have to get the profiler out. Any chance > you can create a JUnit test that reproduces the slowdown? > > > >> >> Is....... >> >> producer.send(tempQueue, jmsResponse); >> >> ........an async send still when I have specified the connection as >> async? >> >> (tempQueue is obtained from the JMSReplyTo property of a received >> message) >> >> >> >> >> >> Paul French wrote: >> > >> > The temp queue is obtained from the JMSReplyTo property of the received >> > message. >> > >> > I specify Async send in the connection factory as follows: >> > >> > <bean id="connectionFactory" >> > class="org.apache.activemq.ActiveMQConnectionFactory" >> > destroy-method="close"> >> > <property name="brokerURL" >> > >> value="failover:(tcp://localhost:61616)?jms.prefetchPolicy.queuePrefetch=50" >> > /> >> > <property name="useAsyncSend"><value>TRUE</value></property> >> > </bean> >> > >> > >> > >> > >> > James.Strachan wrote: >> >> >> >> On 2/19/07, Paul French <[EMAIL PROTECTED]> wrote: >> >>> >> >>> I don't understand any potential contention issues in ActiveMQ so I >> >>> thought I >> >>> may as well use a connection for the incoming and another connection >> for >> >>> the >> >>> outgoing. >> >>> >> >>> I do not create a connection/session/producer per request. They are >> >>> created >> >>> only once. >> >> >> >> Ah right! Sorry I misunderstood. >> >> >> >> >> >>> It just seems that sending messages to a temp queue that you >> >>> specify in the send call is slow? >> >>> >> >>> i.e. The following are only created once: >> >>> >> >>> connection = connectionFactory.createConnection(); >> >>> session = >> >>> connection.createSession(false,Session.CLIENT_ACKNOWLEDGE); >> >>> producer = session.createProducer(null); // set as null since >> we >> >>> do >> >>> not know the destination >> >>> connection.start(); >> >>> >> >>> >> >>> Each call does....... >> >>> >> >>> producer.send(tempQueue, jmsResponse); >> >>> >> >>> Any idea why this is significanly slower then a call to a pre-defined >> >>> known >> >>> queue. >> >> >> >> No - I'm afraid not. You are reusing the same tempQueue each send >> >> right? Are you using explicit async sending? >> >> >> >> -- >> >> >> >> James >> >> ------- >> >> http://radio.weblogs.com/0112098/ >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Sending-Async-messages-to-temp-queue-really-slow-tf3242950s2354.html#a9057110 >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> >> > > > -- > > James > ------- > http://radio.weblogs.com/0112098/ > > -- View this message in context: http://www.nabble.com/Sending-Async-messages-to-temp-queue-really-slow-tf3242950s2354.html#a9059319 Sent from the ActiveMQ - User mailing list archive at Nabble.com.
