Amigos, estou precisando fazer uma aplicação minha utilizar JMS..
O basico com um receiver eu ja consegui.. porem eu preciso ter mais de um receiver e cada um "escutando" uma determinada fila.. alguem pode me ajudar??
segue o que eu fiz para um receiver apenas<amq:broker useJmx="false" persistent="false">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:0" />
</amq:transportConnectors>
</amq:broker>
<bean id="defaultQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="defaultQueue"/>
</bean>
<bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://localhost"/>
</bean>
<bean id="listenerContainer" class="org.springframework.jms.listener.SimpleMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="destination" ref="defaultQueue"/>
<property name="messageListener">
<bean class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
<property name="delegate">
<bean class="br.com.dnasolution.integrabrasil.ws.jms.MessageListenerImpl"/>
</property>
</bean>
</property>
</bean>
<!-- This one is to send test messages -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="defaultDestination" ref="defaultQueue"/>
</bean>
@Component
public class MessageListenerImpl implements MessageListener{
@Override
public void onMessage(Message message) {
System.out.println("RECEIVER");
TextMessage msg = (TextMessage) message;
Calendar dataEntradaComparar = Calendar.getInstance();
dataEntradaComparar.add(Calendar.MINUTE, 1);
while(Calendar.getInstance().getTimeInMillis() < dataEntradaComparar.getTimeInMillis()){
}
try
{
System.out.println("MESSAGE: " + msg.getText());
}
catch (JMSException e)
{
e.printStackTrace();
}
}
}
@Component
public class MessageProducer
{
@Autowired
private JmsTemplate jmsTemplate;
private String mensagem;
public void sendMessages(String msg) throws JMSException
{
mensagem = msg;
System.out.println("PRODUCER");
MessageCreator messageCreator = new MessageCreator()
{
public Message createMessage(Session session) throws JMSException
{
TextMessage message = session.createTextMessage(mensagem);
return message;
}
};
jmsTemplate.send(messageCreator);
}
}
Estou usando Spring + Tomcat + activeMq
obrigado