I have had a few customers come across the following error when trying to restart the LCDS 2.5 or FDS 2.0 applications without restarting the app server.

[6/28/07 10:54:22:468 EDT] 0000001f ServletWrappe E Deregister the
mbean because of uncaught init() exception thrown by servlet
MessageBrokerServlet: javax.servlet.UnavailableException: The MBean, ‘flex.runtime.LiveCycle Data Services:type=MessageBroker,id=MessageBroker1′, cannot be registered because the previous MBean with the same name could not be unregistered possibly due to some security setting on the application server. This can be avoided by setting manageable property to false in the configuration file.
at
flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:154)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:
190)
at
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.jav
a:317)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper
.java:1142)
at
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapp
er.java:150)
at
com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServlet
Wrapper(WebExtensionProcessor.java:99)
at
com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:766)
at
com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.ja
va:446)
at
com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.
java:283)
at
com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:273)
at
com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.jav
a:88)
at
com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java
:157)
at
com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:655)
at
com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.ja
va:608)
at
com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerI
mpl.java:333)
at
com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImp
l.java:549)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl
.java:1312)
at
com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectS
tart(DeployedApplicationImpl.java:1129)
at
com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl
.java:569)
at
com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedAppli
cationImpl.java:814)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(Applica
tionMgrImpl.java:965)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl
.java:1495)
at
com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.jav
a:3836)
at
com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerIm
pl.java:3913)
at
com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.jav
a:245)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(Applica
tionMgrImpl.java:1500)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:265)
at
javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredMode
lMBean.java:1089)
at
javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean
.java:971)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.j
ava:231)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBea
nServerInterceptor.java:833)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
at
com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1057)
at
com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.
java:118)
at
com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:950)
at
com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServic
eDelegator.java:139)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at
com.ibm.ws.management.connector.soap.SOAPConnector.invoke(SOAPConnector.
java:338)
at
com.ibm.ws.management.connector.soap.SOAPConnector.service(SOAPConnector
.java:206)
at
com.ibm.ws.management.connector.soap.SOAPConnection.handleRequest(SOAPCo
nnection.java:55)
at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
680)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:484)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469),

You can work around this error by setting manageable false in the system block of services-config.xml.
WebSphere actually injects additional key-value property pairs into our Mbean object names which makes FDS unregister calls on shutdown no-ops. On startup, FDS attempts to register the new Mbean instances for the newly instantiated MessageBroker and its children and this fails. This is one of several Mbean related issues on WebSphere that is not an issue on other app servers.
It would be nice if IBM could resolve this issue but we don’t have a fix yet. So the options are - cycle the full container, or just disable our Mbeans via the config option above for now.


No Comments »