You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Mark Gellings (JIRA)" <ji...@apache.org> on 2009/12/10 19:59:52 UTC

[jira] Created: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

NMS session should dispose appropriately if listener delegate still processing message
--------------------------------------------------------------------------------------

                 Key: AMQNET-218
                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
             Project: ActiveMQ .Net
          Issue Type: Bug
          Components: NMS
    Affects Versions: 1.2.0
         Environment: ActiveMQ 5.2
            Reporter: Mark Gellings
            Assignee: Jim Gomes
             Fix For: 1.2.0


We have a unit test working with NMS 1.1 and not with NMS 1.2.

It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.

With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.

This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Assigned: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish reassigned AMQNET-218:
-----------------------------------

    Assignee: Timothy Bish  (was: Jim Gomes)

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Mark Gellings (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=56379#action_56379 ] 

Mark Gellings commented on AMQNET-218:
--------------------------------------

I think behavior should be the same as v1.1.  In v1.1 in the DispatcherThread class, a join was done on the local thread with a timeout set.  At which point if join timed out abort is called on the local thread which delegates to the client callback.

I think It is the responsibility of the parent thread to properly dispose of its child threads.  The parent thread should not wait indefinitely to dispose in this case.  Otherwise If there's an infinite loop in the client callback the Service Control Manager cannot properly shutdown the process and it has to be killed manually.

I don't think the client can respond appropriately.  The client's callback has no way of knowing it should shutdown unless abort is called on the thread.  Then abort requested is added to the state of the thread and it can properly shutdown when detected.

                       if ((Thread.CurrentThread.ThreadState & ThreadState.AbortRequested) == ThreadState.AbortRequested)
                        {
                            _log.Debug("Abort requested.");
                            return false;
                        }

I think v1.1 behavior was correct.  Dispose on the session if you want to timeout.  Dispose on the message consumer if you want to wait for the client callback to return.

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Jim Gomes
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Mark Gellings (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57479#action_57479 ] 

Mark Gellings commented on AMQNET-218:
--------------------------------------

I'm expecting to catch a ThreadAbortException in my listener delegate but am not.

If this is my code to process the message should I see the "caught" message?  I'm seeing the begin message and am not seeing the end message, but also am not seeing the caught message.

                             try
                              {
                                  Console.WriteLine("begin");
                                  Thread.Sleep(120000);
                                  Console.WriteLine("end");
                              }
                              catch (ThreadAbortException e)
                              {
                                  Console.WriteLine("caught");
                              }

I set the two properties on the Session.  Should I be setting these differently?  How do I set them using the URI?


            ((Session) _session).DisposeStopTimeout = 30;
            ((Session)_session).CloseStopTimeout = 30;

It does seem to be aborting however just not exactly same behavior as v1.1

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57317#action_57317 ] 

Timothy Bish commented on AMQNET-218:
-------------------------------------

Added additional logic around the Abort functionality to ensure ResetAbort is only called when the Dispatch thread has been aborted.

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63441#action_63441 ] 

Timothy Bish commented on AMQNET-218:
-------------------------------------

Don't think anything changed there, did a quick diff and don't see anything obvious, the Uri handling is much improved so if you had a more complicated Uri we were probably screwing up the parsing before now.  

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Jim Gomes (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57359#action_57359 ] 

Jim Gomes commented on AMQNET-218:
----------------------------------

Additional changes for ResetAbort look good.  Thanks, Tim!


> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Resolved: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish resolved AMQNET-218.
---------------------------------

    Resolution: Fixed

Resolved in trunk and 1.2.x branch.

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57480#action_57480 ] 

Timothy Bish commented on AMQNET-218:
-------------------------------------

I can see the exception when I run a test app under Mono 2.4

The URI options are set by session.CloseStopTimeout and session.DisposeStopTimeout

This is an experimental feature so if there's problems I'd advise you write a new issue against the 1.2.1 release since that will be the next release after 1.2.0.



> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Reopened: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish reopened AMQNET-218:
---------------------------------


Potential problems reported with the fix.

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Updated: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish updated AMQNET-218:
--------------------------------

    Fix Version/s:     (was: 1.2.0)

What is the behaviour you are expecting?  When the message is being delivered the code is in the client's callback, if the service is to be stopped I'd think the client should respond appropriately by discontinuing its onMessage handler instead of depending on the NMS client to abort a thread.

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Jim Gomes
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57110#action_57110 ] 

Timothy Bish commented on AMQNET-218:
-------------------------------------

Added two settings to Session which can be set via the URI.

closeStopTimeout  : defaults to forever.
disposeStopTimeout : default to 30 secs

When the timeout expires the Executors Aborts the dispatch thread which allows normal shutdown to occur after that point.

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Resolved: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Jim Gomes (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jim Gomes resolved AMQNET-218.
------------------------------

    Resolution: Fixed

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Mark Gellings (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57504#action_57504 ] 

Mark Gellings commented on AMQNET-218:
--------------------------------------

I tested with a much simpler example and it is working as expected.  

Sorry about the hassle.  The issue can remain resolved.

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Updated: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish updated AMQNET-218:
--------------------------------

    Fix Version/s: 1.2.0

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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


[jira] Commented: (AMQNET-218) NMS session should dispose appropriately if listener delegate still processing message

Posted by "Mark Gellings (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQNET-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63422#action_63422 ] 

Mark Gellings commented on AMQNET-218:
--------------------------------------

Out of curiosity did logic change in regards to dispose/close and aborting the thread since Feb 2010?  Perhaps related to AMQNET-242?

It seems as if when you don't set the Dispose/CloseStopTimeouts on the Session it defaults to 30s now.

Just wondering because what didn't work with my more complex code now is working fine.  :)

> NMS session should dispose appropriately if listener delegate still processing message
> --------------------------------------------------------------------------------------
>
>                 Key: AMQNET-218
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-218
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.2.0
>         Environment: ActiveMQ 5.2
>            Reporter: Mark Gellings
>            Assignee: Timothy Bish
>             Fix For: 1.2.0
>
>
> We have a unit test working with NMS 1.1 and not with NMS 1.2.
> It appears that in v1.2 on Session.Dispose the consumer thread is not aborted properly.  If I'm processing a message say that takes 2 minutes to complete and try and dispose the session it waits the full two minutes.
> With v1.1 if disposing on the session, it aborted after a timeout of 30s.  Calling dispose on the message consumer directly would behave as calling dispose on the session is in v1.2.
> This is a problem if the consumer runs in a windows service as the SCM errors out when a user tries to shut down the service.

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