You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "mohit.jain" <mo...@nectechnologies.in> on 2013/07/26 12:10:55 UTC
Consumer is created when a message is sent on other queue
Hi all,
I am facing an issue while developing a basic application of server client.
Each client will have a dedicated client queue to consume message from the
server and a single queue for a server to consume messages from the clients.
I am using apache-activemq-5.8.0 with spring framework.
This is my configuration file :
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jms="http://www.springframework.org/schema/jms"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core.xsd">
<context:component-scan base-package="com.test.common.orderapp" />
<context:annotation-config/>
<bean id="connectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://localhost:61616</value>
</property>
<property name=""></property>
</bean>
<bean id="worker1" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="worker1Queue"/>
</bean>
<bean id="worker2" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="worker2Queue"/>
</bean>
<bean id="response" class="org.apache.activemq.command.ActiveMQQueue" >
<constructor-arg value="responseQueue"/>
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="defaultDestination" ref="worker1" />
</bean>
<bean id="orderSender"
class="com.test.common.orderapp.producer.OrderSender"> </bean>
<bean id="orderService"
class="com.test.common.orderapp.producer.OrderService">
<property name = "orderSender" ref = "orderSender" />
</bean>
<bean id="orderListener"
class="com.test.common.orderapp.listener.OrderListener"> </bean>
<jms:listener-container
container-type="default"
connection-factory="connectionFactory"
acknowledge="auto" >
<jms:listener destination="responseQueue" ref="orderListener"
method="orderReceived" />
</jms:listener-container>
</beans>
My question is:
There are basically two client with worker1 and worker2 queue.
Now whenever I load configuration file using
ApplicationContext ctx = new
ClassPathXmlApplicationContext("app-context.xml");
OrderService orderService = (OrderService) ctx.getBean("orderService");
"and send the message to any queue of worker a consumer is created on
response queue."
like
worker Queue: Consumer 1 Enqueue 10 Dequeue 10
Response Queue: Consumer 11 Enqueue 1 Dequeue 1
Some time messages also remain in pending state .
What can be the reason? Is my approach wrong ??
Thanks ,
Mohit Jain
--
View this message in context: http://activemq.2283324.n4.nabble.com/Consumer-is-created-when-a-message-is-sent-on-other-queue-tp4669768.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.