A peculiar situation ....
I am using UMQ 6.1 and running queues as a quorum of 3.
My Java application starts up and publishes five messages. The first message is not delivered to the queue.
The sender exits with an exception on the method call send.
The queue logs show that the context registration and source registration happened successfuly.
The remaining 4 messages are delivered to the queue and consumed by the receiver.
What could be the reason for this behaviour ?
The exception on the source is -
com.latencybusters.lbm.UMENoRegException: CoreApi-5688-707: Not currently registered with enough UMQ queue instances
at com.latencybusters.lbm.LBMSource.lbmSrcSend(Native Method)
The queue log excerpt on the first message -
Wed Sep 25 05:09:15 2013 [INFO]: Store-5688-5306: queue "QueueService" context registration [e19b6f7f8f91cd85]
Wed Sep 25 05:09:15 2013 [INFO]: Store-5688-5320: queue "QueueService" topic "cap" [dd333026] created
Wed Sep 25 05:09:15 2013 [INFO]: Store-5688-5169: queue "QueueService" source registration [e19b6f7f8f91cd85] topic "cap"
Wed Sep 25 05:09:16 2013 [INFO]: Store-5688-5306: queue "QueueService" context registration [6e3d4ff29493db28]
Wed Sep 25 05:09:16 2013 [INFO]: Store-5688-5176: queue "QueueService" receiver registration [6e3d4ff29493db28] topic "cap" assign ID 0xbc468fd4
Wed Sep 25 05:09:16 2013 [INFO]: Store-5688-5192: AUDIT: queue "QueueService" appset "Set 1" ID bc468fd4 ready for messages
Just to put this answer out were everyone can see it, when using queuing, the topic source must be registered with a quorum of the queues before you can begin sending messages.
The exception indicates that you have not registered with enough queues at the time you have tried to send your first message.
The exception also indicates that the message in question was not sent. Depending on the needs of your application, you can retry this message later or drop this message (probably sending some rejection back to the message originator).