TagProvider restart

I have a custom tag provider that works just fine until I attempt to restart it. As it stands now if/when I make a modification to the tag provider or any of the classes associated with it, after updating the module I have to kill java or restart Ignition completely. I do not want this behavior but would rather the restart works. When I click the restart I get the log lines that I have put in indicating the module is stopping but when the module manager says it’s starting my tag provider the log lines I have indicating the various routines have started to not execute leading me to believe the module is not restarting. Below are the log lines that are output when click restart through the WebUI:

INFO | jvm 17 | 2013/08/20 15:48:33 | INFO [BETagListener ] [15:48:33,865]: Port 16161 closed
INFO | jvm 17 | 2013/08/20 15:48:33 | INFO [Provider[BeTagProvider] ] [15:48:33,872]: Tag provider ‘BeTagProvider’ stopped.
INFO | jvm 17 | 2013/08/20 15:48:33 | INFO [BETagProviderModule ] [15:48:33,873]: BETagProvider module stopped.
INFO | jvm 17 | 2013/08/20 15:48:33 | INFO [ModuleManager ] [15:48:33,873]: Shutdown of module “betagprovider_2.0.0.10” comp
INFO | jvm 17 | 2013/08/20 15:48:33 | INFO [ModuleManager ] [15:48:33,873]: Starting up module “betagprovider_2.0.0.10”…
INFO | jvm 17 | 2013/08/20 16:14:34 | INFO [ModuleManager ] [16:14:34,572]: Restarting module “betagprovider_2.0.0.10”
INFO | jvm 17 | 2013/08/20 16:14:34 | INFO [ModuleManager ] [16:14:34,572]: Shutting down module “betagprovider_2.0.0.10”…
INFO | jvm 17 | 2013/08/20 16:14:34 | INFO [BETagProviderModule ] [16:14:34,573]: BETagProvider module stopped.
INFO | jvm 17 | 2013/08/20 16:14:34 | INFO [ModuleManager ] [16:14:34,574]: Shutdown of module “betagprovider_2.0.0.10” comp
INFO | jvm 17 | 2013/08/20 16:14:34 | INFO [ModuleManager ] [16:14:34,574]: Starting up module “betagprovider_2.0.0.10”…

This is what it looks like after I kill java:
INFO | jvm 18 | 2013/08/20 18:01:56 | INFO [AuthenticationManager ] [18:01:56,645]: Starting up…
INFO | jvm 18 | 2013/08/20 18:01:56 | INFO [AuditManager ] [18:01:56,812]: AuditManager starting up…
INFO | jvm 18 | 2013/08/20 18:01:56 | INFO [Provider[BeTagProvider] ] [18:01:56,974]: Starting tag provider ‘BeTagProvider’.
INFO | jvm 18 | 2013/08/20 18:01:57 | INFO [BETagProvider ] [18:01:57,113]: Critical scanclasses loaded: 97
INFO | jvm 18 | 2013/08/20 18:01:57 | INFO [BETagProvider ] [18:01:57,140]: Critical tags handler update frequency 5 batc
INFO | jvm 18 | 2013/08/20 18:01:57 | INFO [BETagProvider ] [18:01:57,198]: BETagListenerStore created.
INFO | jvm 18 | 2013/08/20 18:01:57 | INFO [BETagProvider ] [18:01:57,198]: BETagProvider loadTagdef started
INFO | jvm 18 | 2013/08/20 18:01:57 | INFO [BETagListener ] [18:01:57,220]: Starting server on port 16161…
INFO | jvm 18 | 2013/08/20 18:01:57 | INFO [BETagProvider ] [18:01:57,588]: BETagProvider loadTagdef completed - Success
INFO | jvm 18 | 2013/08/20 18:01:57 | INFO [TagStore ] [18:01:57,589]: Starting tag store for connection ‘cathmi_db’.

The later does not execute when moduleManager.restartModule is called from the UI. Do I need to have a restart routine that gets called in addition to startup and shutdown routine in my custom tag provider. There is no super implementation of this so I’m at a lost. Again having to kill ignition every time I make a mod is unacceptable. Please advise.

There is no restart hook - a restart is a shutdown and a setup/startup. You’ll get those calls in your module hook.

Also - there are abstract/base implementations for module hooks in each scope that make things… easier.