]
Joel Pearson commented on WFLY-3505:
------------------------------------
I tried out James' patch for a shutdown problem I am experiencing with EAP 6.2.3 and
it fixed the problem.
IllegalStateException when patching MBeans are queried during
shutdown
----------------------------------------------------------------------
Key: WFLY-3505
URL:
https://issues.jboss.org/browse/WFLY-3505
Project: WildFly
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Domain Management, JMX
Affects Versions: 8.1.0.Final
Reporter: James Livingston
Assignee: Emanuel Muckenhuber
Attachments: shutdownmbeanquery.jar
If the MBeans for the patching subsystem are queried during server shutdown, it can
result in an IllegalStateException. InstallationManagerService has already had stop()
called on it, so the value is null.
This can be reproduced by the attached EJB, which does a MBeanServer.queryMBeans(null,
null); from the @PreDestroy method. It's in a loop to ensure it runs after the
installation manager gets de-initialised.
java.lang.IllegalStateException
at
org.jboss.as.patching.installation.InstallationManagerService.getValue(InstallationManagerService.java:87)
[wildfly-patching-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.patching.installation.InstallationManagerService.getValue(InstallationManagerService.java:28)
[wildfly-patching-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.msc.service.ServiceControllerImpl.getValue(ServiceControllerImpl.java:1158)
[jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at
org.jboss.as.patching.management.PatchResource$ElementProviderResourceProvider.children(PatchResource.java:139)
[wildfly-patching-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.patching.management.PatchResource$ElementProviderResourceProvider.hasChildren(PatchResource.java:134)
[wildfly-patching-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.controller.registry.AbstractModelResource.hasChildren(AbstractModelResource.java:81)
[wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.controller.registry.AbstractModelResource$DelegateResource.hasChildren(AbstractModelResource.java:279)
[wildfly-controller-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:57)
[wildfly-jmx-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61)
[wildfly-jmx-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.jmx.model.RootResourceIterator.iterate(RootResourceIterator.java:43)
[wildfly-jmx-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.jmx.model.ModelControllerMBeanHelper.queryMBeans(ModelControllerMBeanHelper.java:125)
[wildfly-jmx-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.jmx.model.ModelControllerMBeanServerPlugin.queryMBeans(ModelControllerMBeanServerPlugin.java:159)
[wildfly-jmx-8.1.0.Final.jar:8.1.0.Final]
at
org.jboss.as.jmx.PluggableMBeanServerImpl.queryMBeans(PluggableMBeanServerImpl.java:816)
[wildfly-jmx-8.1.0.Final.jar:8.1.0.Final]
at example.ShutdownMBeanQuery.destroy(ShutdownMBeanQuery.java:23)