jboss.remoting:service=invoker,transport=servlet is already
kevinpauli Feb 11, 2009 6:13 PMI have set up UnifiedInvoker over HTTPS for both naming remote ejb3 invocations. Things seem to work, but I am worried b/c I am getting a warning on startup:
jboss.remoting:service=invoker,transport=servlet is already registered with MBeanServer
I peeked in the source, and it seems that MBean object name is hardcoded in the source! from ServletServerInvoker.java:
public String getMBeanObjectName() { return "jboss.remoting:service=invoker,transport=servlet"; }
I am not sure what is going on. Here are the relevant mbeans from my jboss-service.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- ==================================================================== --> <!-- JNDI --> <!-- ==================================================================== --> <!-- A simple mbean wrapper around the jndi Naming object. This only handles an in memory instance. The NamingService uses this as the JNDI store and exposes it remotely. --> <mbean code="org.jnp.server.NamingBeanImpl" name="jboss:service=NamingBeanImpl" xmbean-dd="resource:xmdesc/NamingBean-xmbean.xml"> </mbean> <mbean code="org.jboss.naming.NamingService" name="jboss:service=Naming" xmbean-dd="resource:xmdesc/NamingService-xmbean.xml"> <!-- The call by value mode. true if all lookups are unmarshalled using the caller's TCL, false if in VM lookups return the value by reference. --> <attribute name="CallByValue">false</attribute> <!-- The thread pool service used to control the bootstrap lookups --> <depends optional-attribute-name="LookupPool" proxy-type="attribute">jboss.system:service=ThreadPool</depends> <depends optional-attribute-name="Naming" proxy-type="attribute">jboss:service=NamingBeanImpl</depends> </mbean> <!-- mbean name="jboss:service=invoker,type=unified" code="org.jboss.invocation.unified.server.UnifiedInvoker"> <depends>jboss:service=TransactionManager</depends> <depends>jboss.remoting:service=Connector</depends> </mbean--> <mbean code="org.jboss.remoting.network.NetworkRegistry" name="jboss.remoting:service=NetworkRegistry"/> <mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory" name="jboss:service=proxyfactory,type=unified,transport=sslservlet,target=naming"> <attribute name="InvokerName">jboss:service=invoker,type=unified,transport=sslservlet,target=naming</attribute> <attribute name="TargetName">jboss:service=Naming</attribute> <attribute name="ExportedInterface">org.jnp.interfaces.Naming</attribute> <attribute name="ClientInterceptors"> <interceptors> <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor> <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor> <interceptor>org.jboss.naming.interceptors.ExceptionInterceptor</interceptor> <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor> </interceptors> </attribute> <depends>jboss:service=invoker,type=unified,transport=sslservlet,target=naming</depends> </mbean> <mbean code="org.jboss.invocation.unified.server.UnifiedInvoker" name="jboss:service=invoker,type=unified,transport=sslservlet,target=naming"> <depends>jboss:service=TransactionManager</depends> <depends>jboss.remoting:service=connector,transport=sslservlet,target=naming</depends> </mbean> <mbean code="org.jboss.remoting.transport.Connector" display-name="SSL Servlet transport Connector" name="jboss.remoting:service=connector,transport=sslservlet,target=naming"> <attribute name="Configuration"> <config> <invoker transport="sslservlet"> <attribute isParam="true" name="dataType">httpsinvocation</attribute> <attribute isParam="true" name="marshaller">org.jboss.invocation.unified.marshall.InvocationMarshaller</attribute> <attribute isParam="true" name="unmarshaller">org.jboss.invocation.unified.marshall.InvocationUnMarshaller</attribute> <attribute isParam="true" name="return-exception">true</attribute> <attribute name="serverBindAddress">${jboss.bind.address}</attribute> <attribute name="serverBindPort">8443</attribute> <attribute name="path">unified-invoker/SSLServerInvokerServlet</attribute> </invoker> <handlers> <handler subsystem="invoker">jboss:service=invoker,type=unified,transport=sslservlet,target=naming</handler> </handlers> </config> </attribute> </mbean> <mbean code="org.jboss.invocation.unified.server.UnifiedInvoker" name="jboss:service=invoker,type=unified,transport=sslservlet,target=ejb3"> <depends>jboss:service=TransactionManager</depends> <depends>jboss.remoting:service=connector,transport=sslservlet,target=ejb3</depends> </mbean> <mbean code="org.jboss.remoting.transport.Connector" display-name="EJB3 Servlet SSL transport Connector" name="jboss.remoting:service=connector,transport=sslservlet,target=ejb3"> <depends>jboss.aop:service=AspectDeployer</depends> <depends>jboss.remoting:service=NetworkRegistry</depends> <attribute name="Configuration"> <config> <invoker transport="sslservlet"> <attribute isParam="true" name="return-exception">true</attribute> <attribute name="serverBindAddress">${jboss.bind.address}</attribute> <attribute name="serverBindPort">8443</attribute> <attribute name="path">unified-invoker/SSLEjb3ServerInvokerServlet</attribute> </invoker> <handlers> <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler> <handler subsystem="invoker">jboss:service=invoker,type=unified,transport=sslservlet,target=ejb3</handler> </handlers> </config> </attribute> </mbean> </server>
P.S. I am running JBoss 4.2.2.GA