remoting-jboss-beans.xml
ron_sigal Nov 4, 2008 2:02 PMI'm working on moving the Remoting related stuff in AS from deploy/remoting-service.xml to deploy/remoting-jboss-beans.xml, and I have a few questions. A skeletal version of remoting-jboss-beans.xml is appended below.
1. Currently, an instance of org.jboss.remoting.network.NetworkRegistry is created, but I don't think we need it.
a. NetworkRegistry is used by an instance of a subclass of org.jboss.remoting.detection.AbstractDetector to store information about known instances of org.jboss.remoting.transport.Connector. But the JNDIDetector in remoting-service.xml is commented out by default.
b. It looks like the only part of the Application Server that uses the Remoting detection service is Tom's jmx-remoting package, which, I believe, is used only in the presence of jdk 1.4, which should never apply to AS 5.
I checked with Tom, and his memory was a little fuzzy but he thought I was right. Does anyone remember how jboss-service.xml happened to have a NetworkRegistry and no JNDIDetector?
2. If I understand correctly, setting "registerDirectly" to "false" in org.jboss.aop.microcontainer.aspects.jmx.JMX would be more semantically consistent with MBeans in older versions of AS. Do we have a policy about that for beans derived from existing MBeans?
3. As MBeans are transformed into POJOs, should the names in binding.xml be updated to refer to the POJO names? Does it matter?
4. I've named the "jboss.remoting:service=Connector,transport=socket" Connector "UnifiedInvokerConnector", which isn't strictly appropriate, now that it has the JSR88 handler as well. Any suggestions for a better name?
Thanks.
===============================================================================
<deployment xmlns="urn:jboss:bean-deployer:2.0"> <bean name="UnifiedInvoker" class="org.jboss.invocation.unified.server.UnifiedInvoker"> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=invoker,type=unified",exposedInterface=org.jboss.invocation.unified.server.UnifiedInvokerMBean.class,registerDirectly=true)</annotation> <property name="connector"><inject bean="UnifiedInvokerConnector"/></property> <depends>TransactionManager</depends> </bean> <bean name="UnifiedInvokerConnector" class="org.jboss.remoting.transport.Connector"> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.remoting:service=Connector,transport=socket",exposedInterface=org.jboss.remoting.transport.ConnectorMBean.class,registerDirectly=true)</annotation> <property name="serverConfiguration"><inject bean="UnifiedInvokerConfiguration"/></property> </bean> <!-- Remoting Server Configuration --> <bean name="UnifiedInvokerConfiguration" class="org.jboss.remoting.ServerConfiguration"> <constructor> <parameter>socket</parameter> </constructor> <!-- parameters published to the client --> <property name="invokerLocatorParameters"> <map keyClass="java.lang.String" valueClass="java.lang.String"> <entry><key>serverBindAddress</key> <value>${jboss.bind.address}</value></entry> <entry> <key>serverBindPort</key> <value> <value-factory bean="ServiceBindingManager" method="getStringBinding"> <parameter>jboss.remoting:service=Connector,transport=socket</parameter> <parameter>${port}</parameter> </value-factory> </value> </entry> <entry><key>dataType</key> <value>invocation</value></entry> <entry><key>marshaller</key> <value>org.jboss.invocation.unified.marshall.InvocationMarshaller</value></entry> <entry><key>unmarshaller</key> <value>org.jboss.invocation.unified.marshall.InvocationUnMarshaller</value></entry> </map> </property> <!-- parameters known only to the server --> <property name="serverParameters"> <map keyClass="java.lang.String" valueClass="java.lang.String"> <!-- ... --> </map> </property> <property name="invocationHandlers"> <map keyClass="java.lang.String" valueClass="java.lang.String"> <!-- The JSR88 deployment service StreamingTarget handler --> <entry><key>JSR88</key> <value>org.jboss.deployment.remoting.DeployHandler</value></entry> </map> </property> </bean> </deployment>