From: monocongo <nu...@jb...> - 2004-10-20 21:57:51
|
This doesn't work as I was hoping. I have added the below to JBOSS3.2.5/server/all/deploy/jmx-invoker-adaptor-server.sar/META-INF/jboss-service.xml: | <!-- HASingletonController to run the above MBean as a singleton --> | <mbean code="org.jboss.ha.singleton.HASingletonController" | name="jboss.hasingleton:service=RMIAdaptorSingletonController"> | <depends>jboss:service=DefaultPartition</depends> | <depends>jboss.jmx:type=adaptor,name=Invoker</depends> | <attribute name="TargetName">jboss.jmx:type=adaptor,name=Invoker</attribute> | <attribute name="TargetStartMethod">start</attribute> | <attribute name="TargetStopMethod">stop</attribute> | </mbean> | </server> | With this configuration I can start JBoss cluster nodes with no errors. In a Servlet I am using the RMIAdaptor like so: | // get the InitialContext and lookup the RMIAdaptor | Context context = new InitialContext(); | RMIAdaptor rmiAdaptor = (RMIAdaptor) context.lookup("jmx/rmi/RMIAdaptor"); | | // if we have an RMIAdaptor and the AllUserInfo MBean is registered with it then we can invoke operations | if ((rmiAdaptor != null) && (rmiAdaptor.isRegistered(new ObjectName("grover.mbean:service=AllUserInfo")))) | { | // find out if the user is already in the table or not | Boolean isUserInTable = (Boolean) rmiAdaptor.invoke(new ObjectName("grover.mbean:service=AllUserInfo"), | "isUserInTable", | new Object[]{loginId}, | new String[]{"java.lang.String"}); | | // if the user is in the table already then get their info | if (isUserInTable.booleanValue()) | { | // get the pre-existing user's information | userInfo = (UserInfo) rmiAdaptor.invoke(new ObjectName("grover.mbean:service=AllUserInfo"), | "getUserInfo", | new Object[]{loginId}, | new String[]{"java.lang.String"}); | } | else | { | // create and populate a new user information object | userInfo = new UserInfo(); | userInfo.setLoginTime(Calendar.getInstance()); | userInfo.setUserId(loginId); | userInfo.setUserType(0); // 0 = HIM, 1 = WEB | } | | // add this user's info to the MBean | rmiAdaptor.invoke(new ObjectName("grover.mbean:service=AllUserInfo"), | "addUserInfo", | new Object[]{userInfo}, | new String[]{"com.hsp.grover.util.UserInfo"}); | } | else | { | // log the error | m_logger.error("Unable to find an RMIAdaptor with a registered AllUserInfo singleton MBean"); | | // throw an exception | throw new ServletException("Unable to find an RMIAdaptor with a registered AllUserInfo singleton MBean"); | } | On the master node this works fine, but when I run the Servlet from a second node I get an error because the RMIAdaptor does not have the singleton MBean registered. So the same exact problem as before. I thought that this might be rectified by moving the entire jmx-invoker-adaptor-server.sar into the deploy-hasingleton directory. On the first (master) node this was no trouble, but on the second node I got loads of errors when I started JBoss, for example: | 17:44:41,961 INFO [TomcatDeployer] deploy, ctxPath=/web-console, warUrl=file:/export/jboss-3.2.5/se | rver/all/tmp/deploy/tmp448web-console.war/ | 17:44:42,165 INFO [STDOUT] java.lang.NullPointerException | 17:44:42,168 INFO [STDOUT] at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.hash(ConcurrentReaderHashMap.java:298) | 17:44:42,169 INFO [STDOUT] at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.get(ConcurrentReaderHashMap.java:410) | 17:44:42,169 INFO [STDOUT] at org.jboss.system.Registry.lookup(Registry.java:51) | 17:44:42,169 INFO [STDOUT] at org.jboss.console.plugins.helpers.AbstractPluginWrapper.findPluginManager(AbstractPluginWrapper.java:252) | 17:44:42,169 INFO [STDOUT] at org.jboss.console.plugins.helpers.AbstractPluginWrapper.init(AbstractPluginWrapper.java:98) | 17:44:42,169 INFO [STDOUT] at org.jboss.console.plugins.helpers.ServletPluginHelper.init(ServletPluginHelper.java:61) | 17:44:42,170 INFO [STDOUT] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1019) | 17:44:42,170 INFO [STDOUT] at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862) | 17:44:42,170 INFO [STDOUT] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3991) | 17:44:42,170 INFO [STDOUT] at org.apache.catalina.core.StandardContext.start(StandardContext.java:4335) | 17:44:42,170 INFO [STDOUT] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823) | 17:44:42,170 INFO [STDOUT] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807) | 17:44:42,170 INFO [STDOUT] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595) | 17:44:42,171 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | 17:44:42,171 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | 17:44:42,171 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,171 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,171 INFO [STDOUT] at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503) | 17:44:42,171 INFO [STDOUT] at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:109) | 17:44:42,172 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,172 INFO [STDOUT] at org.apache.catalina.core.StandardContext.init(StandardContext.java:5412) | 17:44:42,172 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | 17:44:42,172 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | 17:44:42,172 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,172 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,172 INFO [STDOUT] at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503) | 17:44:42,173 INFO [STDOUT] at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:109) | 17:44:42,173 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,173 INFO [STDOUT] at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:286) | 17:44:42,173 INFO [STDOUT] at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:70) | 17:44:42,173 INFO [STDOUT] at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:306) | 17:44:42,173 INFO [STDOUT] at org.jboss.web.WebModule.startModule(WebModule.java:62) | 17:44:42,174 INFO [STDOUT] at org.jboss.web.WebModule.startService(WebModule.java:40) | 17:44:42,174 INFO [STDOUT] at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271) | 17:44:42,174 INFO [STDOUT] at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221) | 17:44:42,174 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) | 17:44:42,174 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,174 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,174 INFO [STDOUT] at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | 17:44:42,175 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | 17:44:42,175 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | 17:44:42,175 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | 17:44:42,175 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | 17:44:42,175 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,175 INFO [STDOUT] at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837) | 17:44:42,176 INFO [STDOUT] at $Proxy17.start(Unknown Source) | 17:44:42,176 INFO [STDOUT] at org.jboss.system.ServiceController.start(ServiceController.java:367) | 17:44:42,176 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) | 17:44:42,176 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,176 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,176 INFO [STDOUT] at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | 17:44:42,176 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | 17:44:42,177 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | 17:44:42,177 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | 17:44:42,177 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | 17:44:42,177 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,177 INFO [STDOUT] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) | 17:44:42,177 INFO [STDOUT] at $Proxy40.start(Unknown Source) | 17:44:42,178 INFO [STDOUT] at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:313) | 17:44:42,178 INFO [STDOUT] at org.jboss.deployment.MainDeployer.start(MainDeployer.java:836) | 17:44:42,178 INFO [STDOUT] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:645) | 17:44:42,178 INFO [STDOUT] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608) | 17:44:42,178 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) | 17:44:42,178 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,178 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,179 INFO [STDOUT] at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | 17:44:42,179 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | 17:44:42,179 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | 17:44:42,179 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | 17:44:42,179 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | 17:44:42,179 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,179 INFO [STDOUT] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) | 17:44:42,180 INFO [STDOUT] at $Proxy7.deploy(Unknown Source) | 17:44:42,180 INFO [STDOUT] at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:304) | 17:44:42,180 INFO [STDOUT] at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:478) | 17:44:42,180 INFO [STDOUT] at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201) | 17:44:42,180 INFO [STDOUT] at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274) | 17:44:42,180 INFO [STDOUT] at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271) | 17:44:42,181 INFO [STDOUT] at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221) | 17:44:42,181 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) | 17:44:42,181 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,181 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,181 INFO [STDOUT] at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | 17:44:42,181 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | 17:44:42,182 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | 17:44:42,182 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | 17:44:42,182 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | 17:44:42,182 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,182 INFO [STDOUT] at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837) | 17:44:42,182 INFO [STDOUT] at $Proxy0.start(Unknown Source) | 17:44:42,182 INFO [STDOUT] at org.jboss.system.ServiceController.start(ServiceController.java:367) | 17:44:42,183 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) | 17:44:42,183 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,183 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,183 INFO [STDOUT] at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | 17:44:42,183 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | 17:44:42,183 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | 17:44:42,184 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | 17:44:42,184 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | 17:44:42,184 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,184 INFO [STDOUT] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) | 17:44:42,184 INFO [STDOUT] at $Proxy4.start(Unknown Source) | 17:44:42,184 INFO [STDOUT] at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251) | 17:44:42,184 INFO [STDOUT] at org.jboss.deployment.MainDeployer.start(MainDeployer.java:836) | 17:44:42,185 INFO [STDOUT] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:645) | 17:44:42,185 INFO [STDOUT] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608) | 17:44:42,185 INFO [STDOUT] at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:592) | 17:44:42,185 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | 17:44:42,185 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | 17:44:42,185 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | 17:44:42,185 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324) | 17:44:42,186 INFO [STDOUT] at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | 17:44:42,186 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | 17:44:42,186 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | 17:44:42,186 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | 17:44:42,186 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | 17:44:42,186 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | 17:44:42,187 INFO [STDOUT] at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) | 17:44:42,187 INFO [STDOUT] at $Proxy5.deploy(Unknown Source) | 17:44:42,187 INFO [STDOUT] at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:407) | 17:44:42,187 INFO [STDOUT] at org.jboss.system.server.ServerImpl.start(ServerImpl.java:311) | 17:44:42,187 INFO [STDOUT] at org.jboss.Main.boot(Main.java:145) | 17:44:42,187 INFO [STDOUT] at org.jboss.Main$1.run(Main.java:399) | 17:44:42,187 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534) | 17:44:42,191 ERROR [Engine] StandardContext[/web-console]Servlet /web-console threw load() exception javax.servlet.ServletException | at org.jboss.console.plugins.helpers.ServletPluginHelper.init(ServletPluginHelper.java:66) | at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1019) | at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862) | at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3991) | at org.apache.catalina.core.StandardContext.start(StandardContext.java:4335) | at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823) | at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807) | at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503) | at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:109) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | at org.apache.catalina.core.StandardContext.init(StandardContext.java:5412) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503) | at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:109) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:286) | at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:70) | at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:306) | at org.jboss.web.WebModule.startModule(WebModule.java:62) | at org.jboss.web.WebModule.startService(WebModule.java:40) | at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271) | at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221) | at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) | at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) | at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:837) | at $Proxy17.start(Unknown Source) | at org.jboss.system.ServiceController.start(ServiceController.java:367) | at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) | | etc... | | Any other ideas/suggestions ? --James View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3852130#3852130 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3852130 |