[
https://issues.apache.org/jira/browse/AMQ-3809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13255631#comment-13255631
]
Bhanu commented on AMQ-3809:
----------------------------
Here is a bare-bone implementation of my app:-
public class ActiveMQConsumer implements MessageListener
{
private Connection myConnection;
private Session mySession;
private void start()
{
try {
ActiveMQConnectionFactory connectionFactory =
new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,
ActiveMQConnection.DEFAULT_PASSWORD,
ourBrokerUrl);
myConnection = connectionFactory.createConnection();
myConnection.start();
mySession = myConnection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
MessageConsumer consumer =
mySession.createConsumer(mySession.createTopic("test_topic"));
consumer.setMessageListener(this);
}
catch (JMSException e) {
throw new RuntimeException(e);
}
}
private void stop()
{
myConnection.close();
}
public void onMessage(Message message)
{
// Do Something
}
public static void main(final String args[])
{
TerminatingThreadGroup.runInTerminatingThreadGroup(new Runnable() {
public void run()
{
final ActiveMQConsumer consumer = new ActiveMQConsumer();
ShutdownTasks.addShutdownHook(new Runnable() {
@Override
public void run()
{
consumer.stop();
}
}, "Shutdown-ActiveMQConsumer");
consumer.start();
}
});
}
}
What I might be doing wrong here ??
> Simple ActiveMQ consumer dies on failover
> -----------------------------------------
>
> Key: AMQ-3809
> URL: https://issues.apache.org/jira/browse/AMQ-3809
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, Transport
> Affects Versions: 5.5.1
> Environment: solaris, linux
> Reporter: Bhanu
>
> I have a simple consumer application which connects to the broker using
> failover url. The consumer uses Message listener to asynchronously listen to
> messages. Whenever i kill my primary broker, I get an EOF exception(which is
> expected), the consumer tries to connect to failover broker but before it
> could finish the reconnect, it shuts down.
> My simple producer connecting with the same failover url never dies and
> successfully connects to failover broker.
> What is going on here?
> Posting the snippet with which the consumer dies:-
> 2012-04-17 06:45:25,771 WARN
> org.apache.activemq.transport.failover.FailoverTransport - Transport
> (host1/10.240.170.28:61616) failed to tcp://host1:61616 , attempting to
> automatically reconnect due to: java.io.EOFException
> 2012-04-17 06:45:25,772 DEBUG
> org.apache.activemq.transport.failover.FailoverTransport - Transport failed
> with the following exception:
> java.io.EOFException
> at java.io.DataInputStream.readInt(DataInputStream.java:392)
> at
> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
> at
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:227)
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:219)
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
> at java.lang.Thread.run(Thread.java:722)
> 2012-04-17 06:45:25,774 DEBUG
> org.apache.activemq.transport.failover.FailoverTransport - urlList
> connectionList:[tcp://host2:61616, tcp://host1:61616], from:
> [tcp://host1:61616, tcp://host2:61616]
> 2012-04-17 06:45:25,774 DEBUG
> org.apache.activemq.transport.failover.FailoverTransport - Attempting connect
> to: tcp://host2:61616
> [20120417 06:45:25.776 EDT (Shutdown-ActiveMQConsumer) ActiveMQConsumer#stop
> INFO] Stopping the consumer...
> 2012-04-17 06:45:26,242 DEBUG
> org.apache.activemq.transport.failover.FailoverTransport - Stopped.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira