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

anish pathadan commented on GERONIMO-2880:
------------------------------------------

Hi All,
     The issue is due to geronimo using XA datasource (SystemDatasource) for 
activemq persistence. I have discussed this issue in activemq forum and I got 
the recommendation to use a non XA datasource for activemq persistence. The 
reason is activemq itself is managing the transaction for broker persistence 
and it doesn't make sense to use XA datasource as there is no other Transaction 
Manager involved in it.
    I have modified the activemq-broker plan to use NoTxDatasource and I got 
the issue resolved.I am attaching a patch also.I verified the issue in AG 2.0.1 
release.

Thanks,
Anish Pathadan

> 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