Thanks Lance. This cleanup advise was what i was looking for. Cheers.

2013/9/22 Lance Java <lance.j...@googlemail.com>

> Igor has written a blog about scheduling jobs with tapestry here
>
> http://blog.tapestry5.de/index.php/2011/09/18/scheduling-jobs-with-tapestry/
>
> The hibernate session provided by tapestry is a singleton and can be
> injected as any other service. The singleton is a proxy to a per-thread
> instance which is created on demand and cleaned up by
> PerThreadManager.cleanup().
> If you use the PeriodicExecutor or the ParallelExecutor then the (per
> thread) hibernate session will be cleaned up after your job runs. If you
> are not using these services (ie you are using java.util.concurrent.*
> directly) then you will need to call either PerThreadManager.cleanup() or
> Registry.cleanupThread() explicitly to close the hibernate session.
>
>
>
> On 22 September 2013 08:12, Martin Kersten <martin.kersten...@gmail.com
> >wrote:
>
> > :) I know Barry. I marked your former post about this. But I dont want a
> > page right now.
> >
> > But this calling it directly ... well that is a good one. But
> object.notify
> > is also easy and makes it possible to assume only one invocation of the
> > processor is running once at a time per JVM.
> >
> > But sadly making the process a singleton I have again the Hibernate
> Session
> > stuff.
> >
> >
> > 2013/9/21 Barry Books <trs...@gmail.com>
> >
> > > Here is what I do:
> > >
> > > 1. Write a simple service that just performs the action you want
> > > 2. If you need real time processing just call it.
> > > 3. Create a page that just calls the service and schedule accessing
> that
> > > page with Hudson/curl
> > >
> > >
> > > On Sat, Sep 21, 2013 at 2:41 PM, Martin Kersten <
> > > martin.kersten...@gmail.com
> > > > wrote:
> > >
> > > > Hi there,
> > > >
> > > >
> > > >    I need to implement a service that reads tasks (descriptions) from
> > the
> > > > database, does some tasks and sleeps again. The thread must be able
> to
> > > woke
> > > > up if an other service demands just in time processing.
> > > >
> > > > Requirements:
> > > > 1. Need a Hibernate Session inside the main loop.
> > > > 2. Needs to be able to woke up (just use Object.notify and
> > Object.wait).
> > > > 3. Needs to sleep for a couple of minutes, check db for work and
> sleep
> > > > again.
> > > > 4. On shut down it needs to suspend and decompose gracefully.
> > > >     What is the best way to do so?
> > > >
> > > > So first I looked at periodic job etc. Nothing to use. So it ends up
> > > doing
> > > > some kind of a
> > > > service that spawns a thread and the thread does all the progressing.
> > > >
> > > > The thread itself uses a runnable to guard against failures and those
> > > > failures are logged
> > > > within each task during which the failure occures.
> > > >
> > > > So here comes the big question:
> > > >
> > > > What should I do.
> > > >
> > > > The naive answer is using a SessionSource and create a session each
> > time
> > > > the thread's
> > > > runnable starts the processing.
> > > >
> > > > Another idea would be set up the worker part as a service that is
> > created
> > > > every time and
> > > > let the IOC do all the session creation and handling. But I fear that
> > > this
> > > > is way more
> > > > complicated then the SessionSource idea.
> > > >
> > > > The decomposition on the teardown of the tapestry application
> requires
> > to
> > > > deal with
> > > > certain kind of listeners. What is the best service to add the
> listener
> > > > too?
> > > >
> > > >
> > > > Thanks in advance,
> > > >
> > > > Martin (Kersten)
> > > >
> > >
> >
>

Reply via email to