I use tapestry to develop windows services so this should be similar to a
desktop application I suppose and it's no where close to a web application.

This method is supposed to register a registryWillShutdownListener

@Startup
public void startup(RegistryShutdownHub registryShutdown, @IpK final
IMonitoredConfigurationSource ipkConfig, final Logger log) {
    log.info(registryShutdown); // This is called
    registryShutdown.addRegistryWillShutdownListener(new Runnable() {
        @Override
        public void run() {
            log.warn("Announcing shutdown"); // This whole method as if it
doesn't exist !
            ipkConfig.shutdown();
            log.warn("IpkConfig: " + ipkConfig.isShuttingDown());
        }
    });
}

What is really strange is that *there are other modules being contributed
just like this one and their shutdown listeners act as expected*, except
for this module ! In addition to the first logging call being actually
invoked and I can see it's output in the log files, I can also see the
module contribution message by tapestry so this module is definitely being
loaded, I just don't know why isn't this listener being invoked.

Are their any other precaution I should consider for my shutdown listeners
to surely work ?

Thank you.

Reply via email to