JIRA 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 <[EMAIL PROTECTED]> wrote:

> The 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 <[EMAIL PROTECTED]>
> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>
> 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 <
> [EMAIL PROTECTED]>
> >  > 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 <[EMAIL PROTECTED]> 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 <
> [EMAIL PROTECTED]>
> >  > 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 <
> [EMAIL PROTECTED]>
> >  > 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 <
> [EMAIL PROTECTED]>
> >  > 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 <http://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
>
>
>
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

Reply via email to