You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2013/10/31 16:33:21 UTC

[jira] [Commented] (AMQ-4779) MessageConsumer.receive() should not throw JMSException if the current thread is interrupted

    [ https://issues.apache.org/jira/browse/AMQ-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13810341#comment-13810341 ] 

Timothy Bish commented on AMQ-4779:
-----------------------------------

I don't see anything in the spec that defines the correct behavior in this case.  You are welcome to create a unit tests and even better provide a patch that provides some improvements to the code.  

> MessageConsumer.receive() should not throw JMSException if the current thread is interrupted
> --------------------------------------------------------------------------------------------
>
>                 Key: AMQ-4779
>                 URL: https://issues.apache.org/jira/browse/AMQ-4779
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: 5.8.0
>            Reporter: Christian Schlichtherle
>            Priority: Minor
>
> As a workaround with an issue in Open MQ 5.0 (see https://java.net/jira/browse/GLASSFISH-20836 ), I have to interrupt the thread which runs {{MessageConsumer.receive()}}). Now when running the workaround on ActiveMQ 5.8.0, I get a {{JMSException}} with a wrapped {{InterruptedException}} as a response.
> I'm not sure this is the correct response. Interrupting a thread is more like saying "Hey, watch your state" rather than saying "I want you to terminate". In that particular use case, I am concurrently calling {{Connection.close()}} and I would prefer {{MessageConsumer.receive()}} to simply pay attention to that, which it does when not interrupting the thread.



--
This message was sent by Atlassian JIRA
(v6.1#6144)