Towards remoting-jboss-beans.xml
ron_sigal Nov 4, 2008 12:48 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 to make sure I'm not doing something "anti-idiomatic". A skeletal version of remoting-jboss-beans.xml is appended below.
1. Are there any hidden gotcha's I'm missing?
2. Are there any conventions, e.g. naming conventions, I should be aware of?
3. Am I correct in understanding that setting "registerDirectly=false" in org.jboss.aop.microcontainer.aspects.jmx.JMX supports hot deployment?
4. JBAS-3926 is "Move remoting transports out of conf/jboss-service.xml to a remoting-beans.xml", but I see that all the *-beans.xml files in AS 5 are named *-jboss-beans.xml. Is the latter form just a convention for *-beans.xml files that come with the AS?
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>