You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (Created) (JIRA)" <ji...@apache.org> on 2012/01/26 14:52:42 UTC

[jira] [Created] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
------------------------------------------------------------------------------------------------------------

                 Key: QPID-3784
                 URL: https://issues.apache.org/jira/browse/QPID-3784
             Project: Qpid
          Issue Type: Improvement
          Components: Java Client
    Affects Versions: 0.15
            Reporter: Alex Rudyy
             Fix For: 0.15


Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.

Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
JVM alive when a MessageListener was set, allowing asynchronous
delivery to continue without the user having taken any explicit action
to keep the JVM alive. Since we removed Mina this is no longer the
case, and if there are no non-daemon threads then the JVM will now
exit even though the user has set a MessageListener set. Investigating
other providers suggests the typical behaviour is to make use of
non-daemon threads by default, preventing this happening, but allowing
users who desire that behaviour to configure it as such.

For example, tibco seem to do exactly what I am proposing with their
Dispatcher threads:
https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER

ActiveMQ seems to control this through transport options, defaulting
to non-daemon threads with an option to reconfigure it:
http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Updated] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-3784:
-----------------------------

    Attachment: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch

A patch with an implementation and test is added
                
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>             Fix For: 0.15
>
>         Attachments: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Updated] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-3784:
-----------------------------

    Status: Ready To Review  (was: In Progress)
    
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>             Fix For: 0.15
>
>         Attachments: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Robbie Gemmell (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13197785#comment-13197785 ] 

Robbie Gemmell commented on QPID-3784:
--------------------------------------

The change itself looks reasonable, but I agree with keith we should document the property in the guide. Also, there have been various code updates since the patch was created (my bad) including some to field accesses that mean the patch needs updated. Finally,  QpidTestCase provides system property setting/unsetting utilities, I think the test would look cleaner if it was updated to use those.
                
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Robbie Gemmell
>             Fix For: 0.15
>
>         Attachments: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Assigned] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy reassigned QPID-3784:
--------------------------------

    Assignee: Alex Rudyy
    
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>             Fix For: 0.15
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Updated] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Robbie Gemmell (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell updated QPID-3784:
---------------------------------

    Assignee: Alex Rudyy  (was: Robbie Gemmell)
      Status: Open  (was: Ready To Review)
    
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>             Fix For: 0.15
>
>         Attachments: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Updated] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-3784:
-----------------------------

    Attachment:     (was: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch)
    
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>             Fix For: 0.15
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Assigned] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy reassigned QPID-3784:
--------------------------------

    Assignee: Robbie Gemmell  (was: Alex Rudyy)

Hi Robbie,

Do you mind to review and commit the patch attached?
                
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Robbie Gemmell
>             Fix For: 0.15
>
>         Attachments: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Keith Wall (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13195470#comment-13195470 ] 

Keith Wall commented on QPID-3784:
----------------------------------

I think we should document the new parameter in the Programming in Apache Qpid docbook.  Also it might be worth pointing out in this JIRA that this patch will revert the default behaviour back to that of Qpid 0.12.

 
                
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Robbie Gemmell
>             Fix For: 0.15
>
>         Attachments: 0001-QPID-3784-Introduce-JVM-env-variable-to-run-a-dispat.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Updated] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-3784:
-----------------------------

    Attachment: 0001-Introduce-JVM-env-variable-to-run-a-dispatcher-threa.patch
    
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>             Fix For: 0.15
>
>         Attachments: 0001-Introduce-JVM-env-variable-to-run-a-dispatcher-threa.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Resolved] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Robbie Gemmell (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell resolved QPID-3784.
----------------------------------

    Resolution: Fixed

Patch applied (with a tiny subsequent change to move a constant).
                
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Robbie Gemmell
>             Fix For: 0.15
>
>         Attachments: 0001-Introduce-JVM-env-variable-to-run-a-dispatcher-threa.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Updated] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-3784:
-----------------------------

    Status: Ready To Review  (was: In Progress)
    
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Robbie Gemmell
>             Fix For: 0.15
>
>         Attachments: 0001-Introduce-JVM-env-variable-to-run-a-dispatcher-threa.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Assigned] (QPID-3784) Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.

Posted by "Alex Rudyy (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy reassigned QPID-3784:
--------------------------------

    Assignee: Robbie Gemmell  (was: Alex Rudyy)

Robbie,

Could you have a look again into an updated patch?

I added a description of "qpid.jms.daemon.dispatcher" property into docs , updated test to extend QpidTestCase, and fixed compilation issues caused by recent changes.
                
> Add special JVM environment variable to run dispatcher thread as daemon/non deamon depending from its value.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3784
>                 URL: https://issues.apache.org/jira/browse/QPID-3784
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: 0.15
>            Reporter: Alex Rudyy
>            Assignee: Robbie Gemmell
>             Fix For: 0.15
>
>         Attachments: 0001-Introduce-JVM-env-variable-to-run-a-dispatcher-threa.patch
>
>
> Dispatcher thread needs be set daemon/non-daemon depending of new configuration option to allow manipulating this behaviour.
> Historically, for the 0-8/0-9/0-9-1 client the use of Mina kept the
> JVM alive when a MessageListener was set, allowing asynchronous
> delivery to continue without the user having taken any explicit action
> to keep the JVM alive. Since we removed Mina this is no longer the
> case, and if there are no non-daemon threads then the JVM will now
> exit even though the user has set a MessageListener set. Investigating
> other providers suggests the typical behaviour is to make use of
> non-daemon threads by default, preventing this happening, but allowing
> users who desire that behaviour to configure it as such.
> For example, tibco seem to do exactly what I am proposing with their
> Dispatcher threads:
> https://docs.tibco.com/pub/enterprise_message_service/6.1.0-august-2011/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/Tibjms.html#PROP_DAEMON_DISPATCHER
> ActiveMQ seems to control this through transport options, defaulting
> to non-daemon threads with an option to reconfigure it:
> http://activemq.apache.org/tcp-transport-reference.html

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org