Shutdown (XMPPServer.Stop) never executed in openfire.exe?

I have written an openfire plugin that requires processing in the destroyPlugin() method. When I start/stop the Openfire server as a windows service using openfire-service.exe I see a proper shutdown take place - in other words XMPPServer.stop is executed and in turn the PluginManager calls my destroyPlugin() method. However when I start/stop the server using openfire.exe my destroyPlugin() method is never executed. It appears starting/stopping the server using openfire.exe never triggers a proper shutdown of the server through XMPPServer.stop().

How can I ensure my destroyPlugin() method gets executed when not running the openfire server as a windows service, but instead use openfire.exe to enable the console display?

This appears to happen in both 3.6.0a and 3.5.2. I have not tested other versions.

Thanks in advance.

  • Ken