Your implementation was simple to understand, simple to implement, and it seems 
to just work.

Thanks
Tony

On Oct 14, 2011, at 5:51 PM, Howard Lewis Ship wrote:

> I'm about to commit changes to allow for registry "will" shutdown 
> notifications.
> 
> On Fri, Oct 14, 2011 at 1:20 PM, Tony Nelson <tnel...@starpoint.com> wrote:
>> I have a bunch of threads that I've spawned off that I'd like to shut down 
>> gracefully.
>> 
>> On Oct 14, 2011, at 4:14 PM, Steve Eynon wrote:
>> 
>>> Alas no, there is no other method (I'm aware of) that lets you know
>>> the registry is "about to shutdown", just the one that tells you it's
>>> in the process of.
>>> 
>>> There have been a couple of situations when I wished there was though!
>>> (e.g. to log the shutdown event to a database.)
>>> 
>>> Steve.
>>> 
>>> On 15 October 2011 03:51, Tony Nelson <tnel...@starpoint.com> wrote:
>>>> I have successfully registered a shutdown listener as described in the 
>>>> document ion.  It seems that registryDidShutdown() is called after the 
>>>> registry is done shutting down and I no longer have access to any of the 
>>>> services the registry previously held.  Is there another method I can use 
>>>> to be notified just before the registry is shut down?  The exception I'm 
>>>> seeing is this:
>>>> 
>>>> [ERROR] TapestryIOCModule.RegistryShutdownHub Error notifying 
>>>> com.starpoint.instihire.services.AppModule$ThreadShutdownListener@54030e7b 
>>>> of registry shutdown: Exception constructing service 'EmailQueue': Proxy 
>>>> for service EmailQueue is no longer active because the IOC Registry has 
>>>> been shut down.
>>>> java.lang.RuntimeException: Exception constructing service 'EmailQueue': 
>>>> Proxy for service EmailQueue is no longer active because the IOC Registry 
>>>> has been shut down.
>>>>        at 
>>>> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:78)
>>>>        at 
>>>> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:56)
>>>>        at $InstiHireQueue_124caf428070f755.delegate(Unknown Source)
>>>>        at $InstiHireQueue_124caf428070f755.getQueueReader(Unknown Source)
>>>>        at 
>>>> com.starpoint.instihire.services.AppModule$ThreadShutdownListener.registryDidShutdown(AppModule.java:292)
>>>>        at 
>>>> org.apache.tapestry5.ioc.internal.services.RegistryShutdownHubImpl.fireRegistryDidShutdown(RegistryShutdownHubImpl.java:57)
>>>>        at 
>>>> org.apache.tapestry5.ioc.internal.RegistryImpl.shutdown(RegistryImpl.java:384)
>>>>        at 
>>>> org.apache.tapestry5.ioc.internal.RegistryWrapper.shutdown(RegistryWrapper.java:41)
>>>>        at 
>>>> org.apache.tapestry5.TapestryFilter.destroy(TapestryFilter.java:192)
>>>>        at 
>>>> org.mortbay.jetty.servlet.FilterHolder.destroyInstance(FilterHolder.java:127)
>>>>        at 
>>>> org.mortbay.jetty.servlet.FilterHolder.doStop(FilterHolder.java:107)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at 
>>>> org.mortbay.jetty.servlet.ServletHandler.doStop(ServletHandler.java:176)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at 
>>>> org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at 
>>>> org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)
>>>>        at 
>>>> org.mortbay.jetty.servlet.SessionHandler.doStop(SessionHandler.java:125)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at 
>>>> org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)
>>>>        at 
>>>> org.mortbay.jetty.handler.ContextHandler.doStop(ContextHandler.java:592)
>>>>        at 
>>>> org.mortbay.jetty.webapp.WebAppContext.doStop(WebAppContext.java:537)
>>>>        at 
>>>> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStop(Jetty6PluginWebAppContext.java:123)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at 
>>>> org.mortbay.jetty.handler.HandlerCollection.doStop(HandlerCollection.java:169)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at 
>>>> org.mortbay.jetty.handler.HandlerCollection.doStop(HandlerCollection.java:169)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at 
>>>> org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)
>>>>        at org.mortbay.jetty.Server.doStop(Server.java:283)
>>>>        at 
>>>> org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
>>>>        at org.mortbay.jetty.Server$ShutdownHookThread.run(Server.java:561)
>>>> Caused by: java.lang.IllegalStateException: Proxy for service EmailQueue 
>>>> is no longer active because the IOC Registry has been shut down.
>>>>        at 
>>>> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator$1.createObject(JustInTimeObjectCreator.java:101)
>>>>        at 
>>>> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68)
>>>>        ... 31 more
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Thanks in advance
>>>> Tony Nelson
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>> 
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>> 
>> 
> 
> 
> 
> -- 
> Howard M. Lewis Ship
> 
> Creator of Apache Tapestry
> 
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
> 
> (971) 678-5210
> http://howardlewisship.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to