I use ActiveMQ as JMS provider in WebSphere Application Server v6.0 and meet some problems.
The env: ActiveMQ version: 4.1.1 Destination Type: Queue OS: AIX 5.2 JVM version: 1.4.2 Application Server: WebSphere Application Server v6.0 Problems: 1. I can’t restart websphere server successfully when there are some messages in queue. 2. Suppose I send 1,2,3…10, ten text messages to queue A, and the MDB in websphere server was configured listening to queue A, only 9 messages will be consumed, and the missed message is 3 (the third message I send to A). And when I monitor the AMQ throw JMX console (jconsole), it shows the QueueSize of A is 2, but if I run command: browse --amqurl tcp://localhost:61616 A in AMQ machine, it shows only one message, the missed one, like: JMS_BODY_FIELD:JMSText = 3 JMS_HEADER_FIELD:JMSExpiration = 0 JMS_HEADER_FIELD:JMSMessageID = ID:XXXXXX JMS_HEADER_FIELD:JMSPriority = 4 JMS_HEADER_FIELD:JMSDestination = A JMS_HEADER_FIELD:JMSTimestamp = 1176279585263 JMS_HEADER_FIELD:JMSDeliveryMode = persistent JMS_HEADER_FIELD:JMSRedelivered = false If I send and receive messages throw independent JMS java application, it works fine. I tried to increase the MDB Listener Port maximum sessions size from 5 to 10, then all messages can be consumed by MDB, but when I check from the JMX console, the QueueSize attribution is 2. and the browse --amqurl tcp://localhost:61616 A command shows nothing. I send another 500 messages, all can be received by MDB, but the QueueSize will not be changed, it’s always 2. I restart the ActiveMQ, the QueueSize is 2 also, and browse --amqurl tcp://localhost:61616 A shows 2 messages. Because the QueueSize can’t be reduced to 0, and with the problem 1 I mentioned above, the WebSphere can’t be restart. The only way to restart the WebSphere Server is to stop the ActiveMQ, and delete the activemq data directory (where activemq used to store data, at default is activemq-data directory). Then start the ActiveMQ as a fresh one, restart the WebSphere at last. If I only restart the ActiveMQ Server (with the QueueSize 2), then when I send the message to the queue A, the MDB will not work. Problem 3: I think there maybe some problems with the MDB, the bean consumed the message but not acknowledge it, so I changed the EJB transaction type from container to bean, the message can be consumed successfully, and the problem 2 disappeared. but it can't work correctly with 2 MDB which listened to different queue: suppose there are queue A, B, MDB-A, MDB-B I send message to A first, the MDB-A is invoked and work fine. Then I send message to B, the MDB-B not work at all. If I send to queue B first, then the MDB-A not work, even I changed the session pool or connection pool. I can't configure the AMQ work fine with WAS now, any advice was appreciated. -- View this message in context: http://www.nabble.com/ActiveMQ-in-WebSphere-6.0-problems-tf3569806s2354.html#a9973033 Sent from the ActiveMQ - User mailing list archive at Nabble.com.