I am looking for a way to have my clients failover to alternate brokers, use asynchronous sends, and keep my client code vanilla JMS. It appears you can't use the failover transport and set connection properties via the uri at the same time. What I would like to do is combine failover:(tcp://localhost:61616,tcp://remotehost:61616) with tcp://localhost:61616?jms.useAsyncSend=true but it doesn't seem to work. i.e. failover:(tcp://localhost:61616?jms.useAsyncSend=true,tcp://remotehost:61616?jms.useAsyncSend=true) Anyone know if this is supposed to work?
The documentation says: "The good news is that ActiveMQ sends message in async mode by default in several cases. It is only in cases where the JMS specification required the use of sync sending that we default to sync sending. The cases that we are forced to send in sync mode are when persistent messages are being sent outside of a transaction." This doesn't appear to be entirely true because when I attempt to use the NON_PERSISTENT mode, send() still blocks if no brokers are available. When this happens I can't shut the program down or notify anyone there is a problem. Note, the ttl of the message can expire and the send() remains blocked. If I could somehow stop the send() I could have another thread monitor it and stop it if necessary. Lots of things seem to block that shouldn't, you can't build robust software if you can't shut things down and restart them when you suspect something is out of wack. Ron -- View this message in context: http://www.nabble.com/Failover-Protocol-tf2549326.html#a7105422 Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
