|
View:
New views
13 Messages
—
Rating Filter:
Alert me
|
|
|
Jencks Message driven POJOS threads left running after ctx.destroyHi,
I've cut and pasted the jencks JCA config from http://jencks.org/Message+Driven+POJOs and if I use it like this: AbstractApplicationContext ctx = new ClassPathXmlApplicationContext(new String[] { "/spring-jencks.xml", }); Thread.sleep(3000); ctx.destroy(); after the spring application context has been created, a number of threads are started up (JCAContainer.afterPropertiesSet creates a Geronimo work manager which in turn creates a thread pool). When ctx.destroy is called, JCAContainer.destroy gets called which in turn calls geronimoWorkManager.doStop() which does... nothing! Shouldn't something be shutting down the thread pool? The threads that are created remain alive and prevent my application from closing down. Thx, Jerry |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyIt looks like a more recent version of GeronimoWorkMnaager shuts down its thread pools in the doStop method - see here: http://www.docjar.com/html/api/org/apache/geronimo/connector/work/GeronimoWorkManager.java.html
Are there any plans to upgrade the the version of geronimo-connector that Jencks 2.1 depends on? I'm more than happy to assist if needed...
Cheers, Jerry
On Wed, Feb 27, 2008 at 8:55 PM, JerryShea <jerry.shea@...> wrote:
|
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyYeah, good idea. Maybe a simple version bump would work ?
Have you tried that, or is there any api changes that we need to deal with ? On Wed, Feb 27, 2008 at 11:02 AM, Jerry Shea <jerry.shea@...> wrote: > It looks like a more recent version of GeronimoWorkMnaager shuts down its > thread pools in the doStop method - see here: > http://www.docjar.com/html/api/org/apache/geronimo/connector/work/GeronimoWorkManager.java.html > > Are there any plans to upgrade the the version of geronimo-connector that > Jencks 2.1 depends on? I'm more than happy to assist if needed... > > Cheers, Jerry > > > > On Wed, Feb 27, 2008 at 8:55 PM, JerryShea <jerry.shea@...> wrote: > > > > > Hi, > > > > I've cut and pasted the jencks JCA config from > > http://jencks.org/Message+Driven+POJOs and if I use it like this: > > AbstractApplicationContext ctx = new > ClassPathXmlApplicationContext(new > > String[] { > > "/spring-jencks.xml", > > }); > > Thread.sleep(3000); > > ctx.destroy(); > > > > after the spring application context has been created, a number of threads > > are started up (JCAContainer.afterPropertiesSet creates a Geronimo work > > manager which in turn creates a thread pool). > > > > When ctx.destroy is called, JCAContainer.destroy gets called which in turn > > calls geronimoWorkManager.doStop() which does... nothing! > > > > Shouldn't something be shutting down the thread pool? The threads that are > > created remain alive and prevent my application from closing down. > > > > Thx, Jerry > > > > -- > > View this message in context: > http://www.nabble.com/Jencks-Message-driven-POJOS-threads-left-running-after-ctx.destroy-tp15709825p15709825.html > > Sent from the jencks - user mailing list archive at Nabble.com. > > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list, please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroygeronimo-connector-2.1 has the same problem (empty doStop method) unfortunately...
I'm having difficulty finding any more info on geronimo-connector. It's even proving difficult to find its subversion repository or maybe its just too late at night ;)
On Wed, Feb 27, 2008 at 9:03 PM, Guillaume Nodet <gnodet@...> wrote: Yeah, good idea. Maybe a simple version bump would work ? |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyThe svn repo has changed a few months ago:
http://svn.apache.org/repos/asf/geronimo/components/txmanager/ On Wed, Feb 27, 2008 at 12:23 PM, Jerry Shea <jerry.shea@...> wrote: > geronimo-connector-2.1 has the same problem (empty doStop method) > unfortunately... > > I'm having difficulty finding any more info on geronimo-connector. It's even > proving difficult to find its subversion repository or maybe its just too > late at night ;) > > > > > > > On Wed, Feb 27, 2008 at 9:03 PM, Guillaume Nodet <gnodet@...> wrote: > > > Yeah, good idea. Maybe a simple version bump would work ? > > Have you tried that, or is there any api changes that we need to deal with > ? > > > > > > > > > > On Wed, Feb 27, 2008 at 11:02 AM, Jerry Shea <jerry.shea@...> wrote: > > > It looks like a more recent version of GeronimoWorkMnaager shuts down > its > > > thread pools in the doStop method - see here: > > > > http://www.docjar.com/html/api/org/apache/geronimo/connector/work/GeronimoWorkManager.java.html > > > > > > Are there any plans to upgrade the the version of geronimo-connector > that > > > Jencks 2.1 depends on? I'm more than happy to assist if needed... > > > > > > Cheers, Jerry > > > > > > > > > > > > On Wed, Feb 27, 2008 at 8:55 PM, JerryShea <jerry.shea@...> wrote: > > > > > > > > > > > Hi, > > > > > > > > I've cut and pasted the jencks JCA config from > > > > http://jencks.org/Message+Driven+POJOs and if I use it like this: > > > > AbstractApplicationContext ctx = new > > > ClassPathXmlApplicationContext(new > > > > String[] { > > > > "/spring-jencks.xml", > > > > }); > > > > Thread.sleep(3000); > > > > ctx.destroy(); > > > > > > > > after the spring application context has been created, a number of > threads > > > > are started up (JCAContainer.afterPropertiesSet creates a Geronimo > work > > > > manager which in turn creates a thread pool). > > > > > > > > When ctx.destroy is called, JCAContainer.destroy gets called which in > turn > > > > calls geronimoWorkManager.doStop() which does... nothing! > > > > > > > > Shouldn't something be shutting down the thread pool? The threads that > are > > > > created remain alive and prevent my application from closing down. > > > > > > > > Thx, Jerry > > > > > > > > -- > > > > View this message in context: > > > > http://www.nabble.com/Jencks-Message-driven-POJOS-threads-left-running-after-ctx.destroy-tp15709825p15709825.html > > > > Sent from the jencks - user mailing list archive at Nabble.com. > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe from this list, please visit: > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Cheers, > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list, please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyhttp://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?view=log
It seems that code was removed in rev 392847: Make thread pools manageable and make our WorkManager use our thread pools under the covers. http://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?r1=381272&r2=392847 On 2/27/08, Jerry Shea <jerry.shea@...> wrote: > geronimo-connector-2.1 has the same problem (empty doStop method) > unfortunately... > > I'm having difficulty finding any more info on geronimo-connector. It's even > proving difficult to find its subversion repository or maybe its just too > late at night ;) > > > > > > On Wed, Feb 27, 2008 at 9:03 PM, Guillaume Nodet <gnodet@...> wrote: > > > Yeah, good idea. Maybe a simple version bump would work ? > > Have you tried that, or is there any api changes that we need to deal with > ? > > > > > > > > > > On Wed, Feb 27, 2008 at 11:02 AM, Jerry Shea <jerry.shea@...> wrote: > > > It looks like a more recent version of GeronimoWorkMnaager shuts down > its > > > thread pools in the doStop method - see here: > > > > http://www.docjar.com/html/api/org/apache/geronimo/connector/work/GeronimoWorkManager.java.html > > > > > > Are there any plans to upgrade the the version of geronimo-connector > that > > > Jencks 2.1 depends on? I'm more than happy to assist if needed... > > > > > > Cheers, Jerry > > > > > > > > > > > > On Wed, Feb 27, 2008 at 8:55 PM, JerryShea <jerry.shea@...> wrote: > > > > > > > > > > > Hi, > > > > > > > > I've cut and pasted the jencks JCA config from > > > > http://jencks.org/Message+Driven+POJOs and if I use > it like this: > > > > AbstractApplicationContext ctx = new > > > ClassPathXmlApplicationContext(new > > > > String[] { > > > > "/spring-jencks.xml", > > > > }); > > > > Thread.sleep(3000); > > > > ctx.destroy(); > > > > > > > > after the spring application context has been created, a number of > threads > > > > are started up (JCAContainer.afterPropertiesSet creates a Geronimo > work > > > > manager which in turn creates a thread pool). > > > > > > > > When ctx.destroy is called, JCAContainer.destroy gets called which in > turn > > > > calls geronimoWorkManager.doStop() which does... nothing! > > > > > > > > Shouldn't something be shutting down the thread pool? The threads that > are > > > > created remain alive and prevent my application from closing down. > > > > > > > > Thx, Jerry > > > > > > > > -- > > > > View this message in context: > > > > http://www.nabble.com/Jencks-Message-driven-POJOS-threads-left-running-after-ctx.destroy-tp15709825p15709825.html > > > > Sent from the jencks - user mailing list archive at Nabble.com. > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe from this list, please visit: > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Cheers, > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list, please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyWell, the code seems ok to me, as the thread pools are given to the
work manager. So they need to be created and shut down from the one that creates the work manager. In the jencks case, i'm not sure who does that (haven't looked yet), but it should be easy to fix, maybe by inheriting the geronimo work manager and overriding doStop if needed. On Wed, Feb 27, 2008 at 1:58 PM, Andrei Ivanov <andrei.ivanov@...> wrote: > http://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?view=log > > It seems that code was removed in rev 392847: > Make thread pools manageable and make our WorkManager use our thread pools > under the covers. > http://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?r1=381272&r2=392847 > > > > On 2/27/08, Jerry Shea <jerry.shea@...> wrote: > > geronimo-connector-2.1 has the same problem (empty doStop method) > > unfortunately... > > > > I'm having difficulty finding any more info on geronimo-connector. It's even > > proving difficult to find its subversion repository or maybe its just too > > late at night ;) > > > > > > > > > > > > On Wed, Feb 27, 2008 at 9:03 PM, Guillaume Nodet <gnodet@...> wrote: > > > > > Yeah, good idea. Maybe a simple version bump would work ? > > > Have you tried that, or is there any api changes that we need to deal with > > ? > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 11:02 AM, Jerry Shea <jerry.shea@...> wrote: > > > > It looks like a more recent version of GeronimoWorkMnaager shuts down > > its > > > > thread pools in the doStop method - see here: > > > > > > http://www.docjar.com/html/api/org/apache/geronimo/connector/work/GeronimoWorkManager.java.html > > > > > > > > Are there any plans to upgrade the the version of geronimo-connector > > that > > > > Jencks 2.1 depends on? I'm more than happy to assist if needed... > > > > > > > > Cheers, Jerry > > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 8:55 PM, JerryShea <jerry.shea@...> wrote: > > > > > > > > > > > > > > Hi, > > > > > > > > > > I've cut and pasted the jencks JCA config from > > > > > http://jencks.org/Message+Driven+POJOs and if I use > > it like this: > > > > > AbstractApplicationContext ctx = new > > > > ClassPathXmlApplicationContext(new > > > > > String[] { > > > > > "/spring-jencks.xml", > > > > > }); > > > > > Thread.sleep(3000); > > > > > ctx.destroy(); > > > > > > > > > > after the spring application context has been created, a number of > > threads > > > > > are started up (JCAContainer.afterPropertiesSet creates a Geronimo > > work > > > > > manager which in turn creates a thread pool). > > > > > > > > > > When ctx.destroy is called, JCAContainer.destroy gets called which in > > turn > > > > > calls geronimoWorkManager.doStop() which does... nothing! > > > > > > > > > > Shouldn't something be shutting down the thread pool? The threads that > > are > > > > > created remain alive and prevent my application from closing down. > > > > > > > > > > Thx, Jerry > > > > > > > > > > -- > > > > > View this message in context: > > > > > > http://www.nabble.com/Jencks-Message-driven-POJOS-threads-left-running-after-ctx.destroy-tp15709825p15709825.html > > > > > Sent from the jencks - user mailing list archive at Nabble.com. > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe from this list, please visit: > > > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Cheers, > > > Guillaume Nodet > > > ------------------------ > > > Blog: http://gnodet.blogspot.com/ > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe from this list, please visit: > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyI have solved my problem by inhertiting from the Geronimo work manager and doing exactly that. Do you want the code?
On Thu, Feb 28, 2008 at 12:59 AM, Guillaume Nodet <gnodet@...> wrote: Well, the code seems ok to me, as the thread pools are given to the |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyI think it would be nice if you could open an issue for jencks and
attach the code there... Maybe it will even be included in a next version... Hmm... http://jira.goopen.org/jira/browse/JCA seems to be dead... Well... kind of like this project... Post it here then... Thank you. On 2/28/08, Jerry Shea <jerry.shea@...> wrote: > I have solved my problem by inhertiting from the Geronimo work manager and > doing exactly that. Do you want the code? > > > > On Thu, Feb 28, 2008 at 12:59 AM, Guillaume Nodet <gnodet@...> wrote: > > > Well, the code seems ok to me, as the thread pools are given to the > > work manager. > > So they need to be created and shut down from the one that creates the > > work manager. > > In the jencks case, i'm not sure who does that (haven't looked yet), > > but it should be easy > > to fix, maybe by inheriting the geronimo work manager and overriding > > doStop if needed. > > > > > > > > > > On Wed, Feb 27, 2008 at 1:58 PM, Andrei Ivanov <andrei.ivanov@...> > wrote: > > > > http://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?view=log > > > > > > It seems that code was removed in rev 392847: > > > Make thread pools manageable and make our WorkManager use our thread > pools > > > under the covers. > > > > http://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?r1=381272&r2=392847 > > > > > > > > > > > > On 2/27/08, Jerry Shea <jerry.shea@...> wrote: > > > > geronimo-connector-2.1 has the same problem (empty doStop method) > > > > unfortunately... > > > > > > > > I'm having difficulty finding any more info on geronimo-connector. > It's even > > > > proving difficult to find its subversion repository or maybe its just > too > > > > late at night ;) > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 9:03 PM, Guillaume Nodet <gnodet@...> > wrote: > > > > > > > > > Yeah, good idea. Maybe a simple version bump would work ? > > > > > Have you tried that, or is there any api changes that we need to > deal with > > > > ? > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 11:02 AM, Jerry Shea <jerry.shea@...> > wrote: > > > > > > It looks like a more recent version of GeronimoWorkMnaager shuts > down > > > > its > > > > > > thread pools in the doStop method - see here: > > > > > > > > > > > http://www.docjar.com/html/api/org/apache/geronimo/connector/work/GeronimoWorkManager.java.html > > > > > > > > > > > > Are there any plans to upgrade the the version of > geronimo-connector > > > > that > > > > > > Jencks 2.1 depends on? I'm more than happy to assist if needed... > > > > > > > > > > > > Cheers, Jerry > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 8:55 PM, JerryShea <jerry.shea@...> > wrote: > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > I've cut and pasted the jencks JCA config from > > > > > > > http://jencks.org/Message+Driven+POJOs and if > I use > > > > it like this: > > > > > > > AbstractApplicationContext ctx = new > > > > > > ClassPathXmlApplicationContext(new > > > > > > > String[] { > > > > > > > "/spring-jencks.xml", > > > > > > > }); > > > > > > > Thread.sleep(3000); > > > > > > > ctx.destroy(); > > > > > > > > > > > > > > after the spring application context has been created, a number > of > > > > threads > > > > > > > are started up (JCAContainer.afterPropertiesSet creates a > Geronimo > > > > work > > > > > > > manager which in turn creates a thread pool). > > > > > > > > > > > > > > When ctx.destroy is called, JCAContainer.destroy gets called > which in > > > > turn > > > > > > > calls geronimoWorkManager.doStop() which does... nothing! > > > > > > > > > > > > > > Shouldn't something be shutting down the thread pool? The > threads that > > > > are > > > > > > > created remain alive and prevent my application from closing > down. > > > > > > > > > > > > > > Thx, Jerry > > > > > > > > > > > > > > -- > > > > > > > View this message in context: > > > > > > > > > > > http://www.nabble.com/Jencks-Message-driven-POJOS-threads-left-running-after-ctx.destroy-tp15709825p15709825.html > > > > > > > Sent from the jencks - user mailing list archive at Nabble.com. > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > To unsubscribe from this list, please visit: > > > > > > > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Cheers, > > > > > Guillaume Nodet > > > > > ------------------------ > > > > > Blog: http://gnodet.blogspot.com/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe from this list, please visit: > > > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe from this list, please visit: > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > -- > > > > > > > > Cheers, > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > > > > --------------------------------------------------------------------- > > To unsubscribe from this list, please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyThe project is not dead per se. This is just that the project has
fullfilled its purpose and is no longer actively developped. If there is a need for another release, I'll do it. So please, raise a JIRA and attach a patch, i'll review and apply it. On Thu, Feb 28, 2008 at 8:31 AM, Andrei Ivanov <andrei.ivanov@...> wrote: > I think it would be nice if you could open an issue for jencks and > attach the code there... > Maybe it will even be included in a next version... > Hmm... http://jira.goopen.org/jira/browse/JCA seems to be dead... > Well... kind of like this project... > Post it here then... > Thank you. > > > > On 2/28/08, Jerry Shea <jerry.shea@...> wrote: > > I have solved my problem by inhertiting from the Geronimo work manager and > > doing exactly that. Do you want the code? > > > > > > > > On Thu, Feb 28, 2008 at 12:59 AM, Guillaume Nodet <gnodet@...> wrote: > > > > > Well, the code seems ok to me, as the thread pools are given to the > > > work manager. > > > So they need to be created and shut down from the one that creates the > > > work manager. > > > In the jencks case, i'm not sure who does that (haven't looked yet), > > > but it should be easy > > > to fix, maybe by inheriting the geronimo work manager and overriding > > > doStop if needed. > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 1:58 PM, Andrei Ivanov <andrei.ivanov@...> > > wrote: > > > > > > http://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?view=log > > > > > > > > It seems that code was removed in rev 392847: > > > > Make thread pools manageable and make our WorkManager use our thread > > pools > > > > under the covers. > > > > > > http://svn.apache.org/viewvc/geronimo/components/txmanager/trunk/geronimo-connector/src/main/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?r1=381272&r2=392847 > > > > > > > > > > > > > > > > On 2/27/08, Jerry Shea <jerry.shea@...> wrote: > > > > > geronimo-connector-2.1 has the same problem (empty doStop method) > > > > > unfortunately... > > > > > > > > > > I'm having difficulty finding any more info on geronimo-connector. > > It's even > > > > > proving difficult to find its subversion repository or maybe its just > > too > > > > > late at night ;) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 9:03 PM, Guillaume Nodet <gnodet@...> > > wrote: > > > > > > > > > > > Yeah, good idea. Maybe a simple version bump would work ? > > > > > > Have you tried that, or is there any api changes that we need to > > deal with > > > > > ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 11:02 AM, Jerry Shea <jerry.shea@...> > > wrote: > > > > > > > It looks like a more recent version of GeronimoWorkMnaager shuts > > down > > > > > its > > > > > > > thread pools in the doStop method - see here: > > > > > > > > > > > > > > http://www.docjar.com/html/api/org/apache/geronimo/connector/work/GeronimoWorkManager.java.html > > > > > > > > > > > > > > Are there any plans to upgrade the the version of > > geronimo-connector > > > > > that > > > > > > > Jencks 2.1 depends on? I'm more than happy to assist if needed... > > > > > > > > > > > > > > Cheers, Jerry > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Feb 27, 2008 at 8:55 PM, JerryShea <jerry.shea@...> > > wrote: > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > I've cut and pasted the jencks JCA config from > > > > > > > > http://jencks.org/Message+Driven+POJOs and if > > I use > > > > > it like this: > > > > > > > > AbstractApplicationContext ctx = new > > > > > > > ClassPathXmlApplicationContext(new > > > > > > > > String[] { > > > > > > > > "/spring-jencks.xml", > > > > > > > > }); > > > > > > > > Thread.sleep(3000); > > > > > > > > ctx.destroy(); > > > > > > > > > > > > > > > > after the spring application context has been created, a number > > of > > > > > threads > > > > > > > > are started up (JCAContainer.afterPropertiesSet creates a > > Geronimo > > > > > work > > > > > > > > manager which in turn creates a thread pool). > > > > > > > > > > > > > > > > When ctx.destroy is called, JCAContainer.destroy gets called > > which in > > > > > turn > > > > > > > > calls geronimoWorkManager.doStop() which does... nothing! > > > > > > > > > > > > > > > > Shouldn't something be shutting down the thread pool? The > > threads that > > > > > are > > > > > > > > created remain alive and prevent my application from closing > > down. > > > > > > > > > > > > > > > > Thx, Jerry > > > > > > > > > > > > > > > > -- > > > > > > > > View this message in context: > > > > > > > > > > > > > > http://www.nabble.com/Jencks-Message-driven-POJOS-threads-left-running-after-ctx.destroy-tp15709825p15709825.html > > > > > > > > Sent from the jencks - user mailing list archive at Nabble.com. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > To unsubscribe from this list, please visit: > > > > > > > > > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Cheers, > > > > > > Guillaume Nodet > > > > > > ------------------------ > > > > > > Blog: http://gnodet.blogspot.com/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe from this list, please visit: > > > > > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe from this list, please visit: > > > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Cheers, > > > Guillaume Nodet > > > ------------------------ > > > Blog: http://gnodet.blogspot.com/ > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe from this list, please visit: > > > > > > http://xircles.codehaus.org/manage_email > > > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyJIRA does not appear to be up - code attached. I didn't touch although I guess this should use a JencksWorkManager if it creates a thread pool.
Cheers, Jerry
On Thu, Feb 28, 2008 at 7:05 PM, Guillaume Nodet <gnodet@...> wrote: The project is not dead per se. This is just that the project has Index: D:/Development/jencks/src/main/java/org/jencks/JencksWorkManager.java =================================================================== --- D:/Development/jencks/src/main/java/org/jencks/JencksWorkManager.java (revision 0) +++ D:/Development/jencks/src/main/java/org/jencks/JencksWorkManager.java (revision 0) @@ -0,0 +1,39 @@ +package org.jencks; + +import java.util.concurrent.ExecutorService; + +import org.apache.geronimo.connector.work.GeronimoWorkManager; +import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; +import org.jencks.factory.GeronimoDefaults; + +/** + * Jencks-specific override of GeronimoWorkManager which creates and shuts down its own + * thread pool. This ensures that no threads will be left running after an orderly + * shutdown of an instance of this class. + * @author Jerry Shea + */ +public class JencksWorkManager extends GeronimoWorkManager { + + private ExecutorService threadPool; + + private JencksWorkManager(ExecutorService threadPool, GeronimoTransactionManager transactionManager) { + super(threadPool, threadPool, threadPool, transactionManager); + this.threadPool = threadPool; + } + + /** + * Public constructor + * @param threadPoolSize size of thread pool to create + * @param transactionManager + */ + public JencksWorkManager(int threadPoolSize, GeronimoTransactionManager transactionManager) { + this((ExecutorService) GeronimoDefaults.createThreadPool(threadPoolSize), transactionManager); + } + + /** + * Override base class implementation to shut down our thread pool + */ + public void doStop() throws Exception { + threadPool.shutdown(); + } +} Index: D:/Development/jencks/src/main/java/org/jencks/factory/GeronimoDefaults.java =================================================================== --- D:/Development/jencks/src/main/java/org/jencks/factory/GeronimoDefaults.java (revision 176) +++ D:/Development/jencks/src/main/java/org/jencks/factory/GeronimoDefaults.java (working copy) @@ -28,12 +28,12 @@ import org.apache.geronimo.connector.outbound.connectionmanagerconfig.PoolingSupport; import org.apache.geronimo.connector.outbound.connectionmanagerconfig.TransactionSupport; import org.apache.geronimo.connector.outbound.connectionmanagerconfig.XATransactions; -import org.apache.geronimo.connector.work.GeronimoWorkManager; import org.apache.geronimo.transaction.log.UnrecoverableLog; import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; import org.apache.geronimo.transaction.manager.TransactionLog; import org.apache.geronimo.transaction.manager.XidFactory; import org.apache.geronimo.transaction.manager.XidFactoryImpl; +import org.jencks.JencksWorkManager; import org.springframework.beans.FatalBeanException; /** @@ -78,8 +78,7 @@ } public static WorkManager createWorkManager(GeronimoTransactionManager transactionManager, int threadPoolSize) { - Executor threadPool = createThreadPool(threadPoolSize); - WorkManager geronimoWorkManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, transactionManager); + WorkManager geronimoWorkManager = new JencksWorkManager(threadPoolSize, transactionManager); return geronimoWorkManager; } --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyTidied version of code attached (shutdownThreads.patch).
What I meant to say in that last email was that I didn't touch WorkManagerFactoryBean although it does create a thread pool in some circumstances. I've had a look at that again now and have attached another patch (shutdownThreadsWMFB.patch).
cheers, Jerry On Sat, Mar 1, 2008 at 9:40 PM, Jerry Shea <jerry.shea@...> wrote:
Index: src/main/java/org/jencks/JencksWorkManager.java =================================================================== --- src/main/java/org/jencks/JencksWorkManager.java (revision 0) +++ src/main/java/org/jencks/JencksWorkManager.java (revision 0) @@ -0,0 +1,36 @@ +package org.jencks; + +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; + +import org.apache.geronimo.connector.work.GeronimoWorkManager; +import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; +import org.jencks.factory.GeronimoDefaults; + +/** + * Jencks-specific override of GeronimoWorkManager which takes responsibility for + * creating and shutting down its own thread pool. + * @author Jerry Shea + */ +public class JencksWorkManager extends GeronimoWorkManager { + + private JencksWorkManager(Executor threadPool, GeronimoTransactionManager transactionManager) { + super(threadPool, threadPool, threadPool, transactionManager); + } + + /** + * Public constructor + * @param threadPoolSize size of thread pool to create + * @param transactionManager + */ + public JencksWorkManager(int threadPoolSize, GeronimoTransactionManager transactionManager) { + this(GeronimoDefaults.createThreadPool(threadPoolSize), transactionManager); + } + + /** + * Override base class implementation to shut down our thread pool + */ + public void doStop() throws Exception { + ((ExecutorService)this.getScheduledWorkExecutorPool()).shutdown(); + } +} Index: src/main/java/org/jencks/JencksWorkManager.java =================================================================== --- src/main/java/org/jencks/JencksWorkManager.java (revision 0) +++ src/main/java/org/jencks/JencksWorkManager.java (revision 0) @@ -0,0 +1,39 @@ +package org.jencks; + +import java.util.concurrent.ExecutorService; + +import org.apache.geronimo.connector.work.GeronimoWorkManager; +import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; +import org.jencks.factory.GeronimoDefaults; + +/** + * Jencks-specific override of GeronimoWorkManager which creates and shuts down its own + * thread pool. This ensures that no threads will be left running after an orderly + * shutdown of an instance of this class. + * @author Jerry Shea + */ +public class JencksWorkManager extends GeronimoWorkManager { + + private ExecutorService threadPool; + + private JencksWorkManager(ExecutorService threadPool, GeronimoTransactionManager transactionManager) { + super(threadPool, threadPool, threadPool, transactionManager); + this.threadPool = threadPool; + } + + /** + * Public constructor + * @param threadPoolSize size of thread pool to create + * @param transactionManager + */ + public JencksWorkManager(int threadPoolSize, GeronimoTransactionManager transactionManager) { + this((ExecutorService) GeronimoDefaults.createThreadPool(threadPoolSize), transactionManager); + } + + /** + * Override base class implementation to shut down our thread pool + */ + public void doStop() throws Exception { + threadPool.shutdown(); + } +} Index: src/main/java/org/jencks/factory/GeronimoDefaults.java =================================================================== --- src/main/java/org/jencks/factory/GeronimoDefaults.java (revision 176) +++ src/main/java/org/jencks/factory/GeronimoDefaults.java (working copy) @@ -28,12 +28,12 @@ import org.apache.geronimo.connector.outbound.connectionmanagerconfig.PoolingSupport; import org.apache.geronimo.connector.outbound.connectionmanagerconfig.TransactionSupport; import org.apache.geronimo.connector.outbound.connectionmanagerconfig.XATransactions; -import org.apache.geronimo.connector.work.GeronimoWorkManager; import org.apache.geronimo.transaction.log.UnrecoverableLog; import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; import org.apache.geronimo.transaction.manager.TransactionLog; import org.apache.geronimo.transaction.manager.XidFactory; import org.apache.geronimo.transaction.manager.XidFactoryImpl; +import org.jencks.JencksWorkManager; import org.springframework.beans.FatalBeanException; /** @@ -78,8 +78,7 @@ } public static WorkManager createWorkManager(GeronimoTransactionManager transactionManager, int threadPoolSize) { - Executor threadPool = createThreadPool(threadPoolSize); - WorkManager geronimoWorkManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, transactionManager); + WorkManager geronimoWorkManager = new JencksWorkManager(threadPoolSize, transactionManager); return geronimoWorkManager; } Index: D:/Development/jencks/src/main/java/org/jencks/JencksWorkManager.java =================================================================== --- D:/Development/jencks/src/main/java/org/jencks/JencksWorkManager.java (revision 0) +++ D:/Development/jencks/src/main/java/org/jencks/JencksWorkManager.java (revision 0) @@ -0,0 +1,36 @@ +package org.jencks; + +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; + +import org.apache.geronimo.connector.work.GeronimoWorkManager; +import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; +import org.jencks.factory.GeronimoDefaults; + +/** + * Jencks-specific override of GeronimoWorkManager which takes responsibility for + * creating and shutting down its own thread pool. + * @author Jerry Shea + */ +public class JencksWorkManager extends GeronimoWorkManager { + + private JencksWorkManager(Executor threadPool, GeronimoTransactionManager transactionManager) { + super(threadPool, threadPool, threadPool, transactionManager); + } + + /** + * Public constructor + * @param threadPoolSize size of thread pool to create + * @param transactionManager + */ + public JencksWorkManager(int threadPoolSize, GeronimoTransactionManager transactionManager) { + this(GeronimoDefaults.createThreadPool(threadPoolSize), transactionManager); + } + + /** + * Override base class implementation to shut down our thread pool + */ + public void doStop() throws Exception { + ((ExecutorService)this.getScheduledWorkExecutorPool()).shutdown(); + } +} Index: D:/Development/jencks/src/main/java/org/jencks/factory/GeronimoDefaults.java =================================================================== --- D:/Development/jencks/src/main/java/org/jencks/factory/GeronimoDefaults.java (revision 176) +++ D:/Development/jencks/src/main/java/org/jencks/factory/GeronimoDefaults.java (working copy) @@ -28,12 +28,12 @@ import org.apache.geronimo.connector.outbound.connectionmanagerconfig.PoolingSupport; import org.apache.geronimo.connector.outbound.connectionmanagerconfig.TransactionSupport; import org.apache.geronimo.connector.outbound.connectionmanagerconfig.XATransactions; -import org.apache.geronimo.connector.work.GeronimoWorkManager; import org.apache.geronimo.transaction.log.UnrecoverableLog; import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; import org.apache.geronimo.transaction.manager.TransactionLog; import org.apache.geronimo.transaction.manager.XidFactory; import org.apache.geronimo.transaction.manager.XidFactoryImpl; +import org.jencks.JencksWorkManager; import org.springframework.beans.FatalBeanException; /** @@ -67,10 +67,6 @@ } } - public static Executor createThreadPool() { - return createThreadPool(DEFAULT_THREAD_POOL_SIZE); - } - public static Executor createThreadPool(int threadPoolSize) { if (threadPoolSize <= 0) threadPoolSize = DEFAULT_THREAD_POOL_SIZE; Executor pooledExecutor = Executors.newFixedThreadPool(threadPoolSize); @@ -78,8 +74,7 @@ } public static WorkManager createWorkManager(GeronimoTransactionManager transactionManager, int threadPoolSize) { - Executor threadPool = createThreadPool(threadPoolSize); - WorkManager geronimoWorkManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, transactionManager); + WorkManager geronimoWorkManager = new JencksWorkManager(threadPoolSize, transactionManager); return geronimoWorkManager; } Index: D:/Development/jencks/src/main/java/org/jencks/factory/WorkManagerFactoryBean.java =================================================================== --- D:/Development/jencks/src/main/java/org/jencks/factory/WorkManagerFactoryBean.java (revision 176) +++ D:/Development/jencks/src/main/java/org/jencks/factory/WorkManagerFactoryBean.java (working copy) @@ -19,6 +19,7 @@ import org.apache.geronimo.transaction.manager.GeronimoTransactionManager; import org.apache.geronimo.connector.work.GeronimoWorkManager; +import org.jencks.JencksWorkManager; import org.springframework.beans.FatalBeanException; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; @@ -42,7 +43,13 @@ public Object getObject() throws Exception { if (workManager == null) { - workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, transactionManager); + if (threadPool == null) { + // JencksWorkManager will create and destroy the thread pool + workManager = new JencksWorkManager(threadPoolSize, transactionManager); + } + else { + workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, transactionManager); + } workManager.doStart(); } return workManager; @@ -68,11 +75,6 @@ if (transactionManager == null) { throw new FatalBeanException("Geronimo transaction manager was not set"); } - - // create a default thread pool if one was not specified - if (threadPool == null) { - threadPool = GeronimoDefaults.createThreadPool(getThreadPoolSize()); - } } public GeronimoTransactionManager getTransactionManager() { --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks Message driven POJOS threads left running after ctx.destroyHi Guillaume, have you had a chance to review the code changes? Thx, Jerry
On Sun, Mar 2, 2008 at 8:34 AM, Jerry Shea <jerry.shea@...> wrote:
|
| Free embeddable forum powered by Nabble | Forum Help |