[jboss-user] [Messaging, JMS & JBossMQ] - ActiveMQ integration problem

vri_97 do-not-reply at jboss.com
Mon Aug 13 01:57:35 EDT 2007


Hi,
I'm using:
- JBoss AS 4.2.0
- ActiveMQ 4.1.1

I tried to use ActiveMQ as message broker for my MDB. Somehow it is not run properly. I got 2 problem :
1. 13:32:10,344 WARN  [ManagementContext] Failed to start jmx connector: Cannot bind to URL [rmi://localhost:1099/jmxrmi]: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is: 
	java.net.SocketException: Software caused connection abort: recv failed]
Does anyone know what is the problem ?

2. It seems that my MDB only process (receive the event) when it was first time deployed. The sequence :
a. Run JBOSS AS
b. Run client, send message to a queue
c. Deploy my MDB
d. My MDB can process the message
e. Run the client again
f. MDB do nothing, until, I redeploy the MDB again.

Client snippet :
			InitialContext ic = new InitialContext(System.getProperties());

			//connect using active mq
			ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory();
			Queue queue = (Queue)ic.lookup("activemq/queue/outbound");
			ic.close();
			System.out.println("Queue testQueue exists");
			Connection connection = cf.createConnection();

			Session sess = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
			MessageProducer sender = sess.createProducer(queue);
			TextMessage msg = sess.createTextMessage("test activemq4");
			sender.send(msg);
			connection.close();

MDB Snippet:
@MessageDriven(activationConfig = {
		@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
		@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue.outbound"),
		@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue="Auto-acknowledge")})
public class HelloMDB implements MessageListener {

	public void onMessage(Message arg0) {
		try {
			TextMessage tm = (TextMessage)arg0;
			System.out.println("Hello I'm Message Bean, receive msg: "+tm.getText());
		} catch (JMSException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

Does anyone know what happen ?
Is it because of deadlock in the queue (between producer and consumer) or ?
Sorry, I'm not so sure where should I ask this question, whether to ActiveMQ forum, or JBoss.
Please help.
Thanks.
Regards,
Ferry



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4073442#4073442

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4073442



More information about the jboss-user mailing list