Hi,

I'd tend to use Spring's SingleConnectionFactory with
reconnectOnException set to true. I'd compare my cached connection
against the one returned by the SingleConnectionFactory to know if any
other consumer encountered a JMS exception.

Basically I'd also treat any JMSException I encounter as a reason to
recycle my connection and other JMS objects.

Best regards,
Martin

On Sat, Dec 10, 2011 at 1:25 AM, JRR <[email protected]> wrote:
> Hello,
>
> I am using the Active MQ CPP 3.4.0 client.
>
> We have a multi-threaded application that has multiple producers, and they
> share a single connection. These connections are */not/* fail over
> connections, nor can they be.
>
> I'm trying to find the fastest, most efficient way to determine if a
> connection is still up? For example, consider if the broker was up, then my
> application starts, and establishes its connection and sends a few messages.
> Then later the broker restarts. So, I need to reestablish the connection.
>
> What I've done so far is get the cached connection. And then try to create a
> session on it. If the session create throws an exception, I create a new
> connection.
>
> However, this feels clunky/kludgy.
>
> Is there a better way to do this?
>
> Oh, I did look at advisory messages, but there isn't an advisory for
> creating the connection, there's an advisory for start and stop.
>
> Thank you,
>
> -=John
>
> --
> View this message in context: 
> http://activemq.2283324.n4.nabble.com/How-can-a-producer-consumer-tell-if-its-connection-is-still-good-tp4178865p4178865.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to