Hello everyone !
We are currently attempting to migrate from JBoss MQ to JBM,
Using JBoss 4.2.1.GA, JBM 1.4.0.SP1, and JBoss Remoting 2.2.2.SP1.
We have been testing the JBM Bridge service between a couple of machines,
a producer machine with a mix of queues and topics,
and a consumer machine which runs the bridge service(s).
the consumer bridge service listens to two queues and one topic on the remote producer - and then puts the messages into local queues.
as part of our testing we have unplugged the network cable from the consumer machine for a few minutes,
then reconnected - and checked that the message delivery resumes -- and it does - which is great !
HOWEVER -- after this - if we add messages into one of the Queues/Topics on the producer which was previously empty,
the messages _never_ get delivered to the consumer.
The only way they get delivered is if we re-start JBoss on the consumer, or if we restart the individual Bridge Service
via the web-console and JMX-Beans view.
below is a transcript of a test we tried :
Started the producer JBoss instance - and once it was started - then started the consumer JBoss instance.
(unfortunately the clock on the two machines is slighty out - the consumer seems to be approx 2 minutes behind the producer)
producer 02:42:05 JBoss (MX MicroKernel) [4.2.1.GA ...] Started in 40s:622ms consumer 03:17:12 Started bridge BridgeService. Source: /queue/consumerPinNetDataQueue Target: /queue/PinnacleNetIncomingData consumer 03:17:16 Started bridge BridgeService. Source: /queue/testQueue Target: /queue/testQueue consumer 03:17:18 Started bridge BridgeService. Source: /topic/PinnacleNetTopic Target: /queue/PinnacleNetIncomingData consumer 03:17:19 JBoss (MX MicroKernel) [4.2.1.GA ...] Started in 22s:563ms producer Added 20,000 100 bytes messages to testQueue consumer Can see from web-console that consumer has so far received 7,500 messages consumer *** Network cable removed from consumer machine producer Can see that sending of messages has stalled in web-console, MessageCount = 12,500, DeliveringCount = 0, Consumers = 0 consumer 03:48:49 Failed to send + acknowledge batch, closing JMS objects consumer **** Network cable put back in consumer machine consumer 03:49:26 Succeeded in reconnecting to servers consumer Can see number of messages in testQueue increasing after sucessful re-connect producer Can correspondingly see number of messages in testQueue decreasing producer **** started adding 20,000 100 byte messages to consumerPinNetDataQueue which was previously empty producer 03:52:29 [...CommsTestBean] sendTestMessages(queue/consumerPinNetDataQueue,20000,100) producer **** finnished adding 20,000 messages to consumerPinNetDataQueue (in a Transaction) producer 03:53:02 [...CommsTestBean] sendMessage(queue/consumerPinNetDataQueue,19999,false,false,false,100) producer Checked web-console -- consumerPinNetDataQueue shows 20,000 messages exactly - even after several minutes consumer Checked web-console -- PinnacleNetIncomingDataQueue shows 0 messages
even if we wait hours -- the messages stay sat on the producer,
the only way to get the messages from the producer to the consumer is to either restart JBoss on the consumer,
or to stop and then start the bridge service concerned via the web-console and JMX-Beans view.
we have tried this many times over the last week or two, using Queues or Topics,
JBoss 4.2.0.GA, 4.2.1.GA, 4.2.2.GA, JBM 1.4.0, JBM 1.4.0.SP1
each time we got the same result.