[ 
https://issues.apache.org/jira/browse/GERONIMO-2880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524886
 ] 

Aman Nanner commented on GERONIMO-2880:
---------------------------------------

Ok, it turns out that the peer was disposed because of an exception during the 
transport process.  The real problem was the following IOException:

{{java.io.IOException: Cannot set AUTOCOMMIT ON when in an XA connection.}}

This problem caused the peer to be disposed which resulted in the error 
discussed in this JIRA issue.  However, this source problem was not logged as 
an ERROR to the console.  It seems that the error is only logged in DEBUG mode 
in the following code in the {{org.apache.activemq.broker.TransportConnection}} 
class:

{code}
    public void serviceTransportException(IOException e) {
        if( !disposed.get() ) {
            transportException.set(e); 
            if( transportLog.isDebugEnabled() )
                transportLog.debug("Transport failed: "+e,e);
            ServiceSupport.dispose(this);
        }
    }
{code}

I would think that this should probably be logged at a higher debug level, such 
as WARN or ERROR.

> TransportDisposedIOException occurs when trying to close ActiveMQ queue
> -----------------------------------------------------------------------
>
>                 Key: GERONIMO-2880
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2880
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: ActiveMQ
>    Affects Versions: 2.0.x
>         Environment: Windows XP SP2
>            Reporter: Aman Nanner
>            Priority: Critical
>             Fix For: 2.0.x, 2.1
>
>
> I have discovered some problems with queues while running unittest in our own 
> J2EE app.
> After sending a message on a queue, when we try to call the close() method on 
> the queue, we get the following exception:
> ----
> org.apache.activemq.transport.TransportDisposedIOException: Peer 
> (vm://localhost#69) disposed.
> ----
> where the number after "localhost" is different every time.
> We do not experience this problem with topics.  We are using ActiveMQ as part 
> of an "embedded" configuration with Geronimo.
> I've done some debugging and the problem occurs at this line in the 
> ActiveMQMessageProducer.close() method:
> ----
> this.session.asyncSendPacket(info.createRemoveCommand());
> ----
> The queue itself is disposed properly in the dispose() method that is called 
> in the line before, but this sending of the asynchronous packet fails.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to