Hi Rob,
That looks exactly like it. Blimey how did you find the Jira so fast?? It's a serious question, I'm not too familiar with Jira in general (I've raised a few but that's about it). Is there a tutorial/FAQ/idiot's guide for finding things in Qpid Jira.

The Jira comment "Investigating other providers suggests the typical behaviour is to make use of non-daemon threads by default" would fit with my observation of JBoss, and it looks like Alex observed the same with Tibco.

Looking at the latest version of Programming in Apache Qpid I noticed:

qpid.jms.daemon.dispatcher      boolean         false   

Controls whether the Session dispatcher thread is a daemon thread or not. If this system property is set to true then the Session dispatcher threads will be created as daemon threads. This setting is introduced in version 0.16.


Which suggests this behaviour was introduced in 0.16


FWIW I think that this is a good thing, and it's even better that it's configurable. I guess it's one of those changes that one doesn't notice until it's noticed :-)

I'm liking the latest version of Programming in Apache Qpid, it looks like it has a lot more comprehensive documentation of the options in general.

Thanks again for responding so fast Rob,
Frase


On 26/01/13 12:10, Rob Godfrey wrote:
On 26 January 2013 13:00, Fraser Adams <[email protected]> wrote:
Another thing I've just noticed about 0.20 Java.

The behaviour of the Thread that gets started when a MessageListener is
registered has changed some time between 0.12 and 0.20 (I'm afraid I was
stuck on 0.12 for a while so I can't say exactly which version it got
changed in).

Are you referring to this change:

https://issues.apache.org/jira/browse/QPID-3784

-- Rob

In 0.12 it was a Daemon Thread, so things bombed straight out when main
exited, in 0.20 it now appears to be a user Thread and it appears to block
at the end of main and I have to ctrl C. (I think I've got Daemon and user
the right way round...)

I only really noticed this 'cause in some of the more noddy bits of code
I've put together for tinkering I put

         // Blocks here until return is pressed
         try {
             System.out.println("Hit Return to exit");
             String s = commandLine.readLine();
         } catch (Exception e) {
             System.out.println ("ItemConsumer: exception: " +
e.getMessage());
             e.printStackTrace ();
         }

To stop things exiting immediately back in the 0.12 days, but now when I hit
return the application stays running.

I doubt it's a big deal and probably actually a useful change (TBH I'm not
sure if the JMS spec says anything about this particular Thread). I know
that JBoss Messaging behaved in this way so perhaps it's a common convention
at least.


As I say I don't think that this is an "issue" with 0.20, but it is a subtle
change that affects how JMS MessageListener clients may need to behave.

Frase

The Apache Qpid community is pleased to announce the immediate
availability of Apache Qpid 0.20.

Apache Qpid (http://qpid.apache.org) is a cross-platform enterprise
messaging solution which implements the Advanced Message Queuing
Protocol (AMQP, http://www.amqp.org).  It provides brokers written in
C++ and Java, along with clients for C++, Java JMS, .Net, Python,
Ruby, and Perl.

Qpid 0.20 is available from our website:

       http://qpid.apache.org/download.html

The 0.20 release includes many bug fixes and improvements.  We
recommend that all users upgrade.  A comprehensive list of changes in
the 0.20 release is available here:

       http://qpid.apache.org/release_notes_0.20.html

Thanks to all the users and contributors who have helped to improve
Apache Qpid.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to