activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bhanu (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-3809) Simple ActiveMQ consumer dies on failover
Date Tue, 17 Apr 2012 15:14:19 GMT

    [ 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

        

Mime
View raw message