I 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
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4209290#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...