12.2.2. POJO
org.jboss.remoting.ServerConfiguration POJO のように同じコネクターを設定することができます。
<bean name="JBMConnector" class="org.jboss.remoting.transport.Connector">
<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX
(name="jboss.messaging:service=Connector,transport=bisocket",
exposedInterface=org.jboss.remoting.transport.ConnectorMBean.class,
registerDirectly=true)</annotation>
<property name="serverConfiguration"><inject bean="JBMConfiguration"/></property>
</bean>
<!-- Remoting server configuration -->
<bean name="JBMConfiguration" class="org.jboss.remoting.ServerConfiguration">
<constructor>
<parameter>bisocket</parameter>
</constructor>
<!-- Parameters visible to both client and server -->
<property name="invokerLocatorParameters">
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry>
<key>serverBindAddress</key>
<value>
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector</parameter>
<parameter>${host}</parameter>
</value-factory>
</value>
</entry>
<entry>
<key>serverBindPort</key>
<value>
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector</parameter>
<parameter>${port}</parameter>
</value-factory>
</value>
</entry>
...
<entry><key>marshaller</key> <value>org.jboss.jms.wireformat.JMSWireFormat</value></entry>
<entry><key>unmarshaller</key> <value>org.jboss.jms.wireformat.JMSWireFormat</value></entry>
</map
</property>
<!-- Parameters visible only to server -->
<property name="serverParameters">
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry><key>callbackTimeout</key> <value>10000</value></entry>
</map>
</property>
...
</bean>
<bean name="JBMConnector" class="org.jboss.remoting.transport.Connector">
<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX
(name="jboss.messaging:service=Connector,transport=bisocket",
exposedInterface=org.jboss.remoting.transport.ConnectorMBean.class,
registerDirectly=true)</annotation>
<property name="serverConfiguration"><inject bean="JBMConfiguration"/></property>
</bean>
<!-- Remoting server configuration -->
<bean name="JBMConfiguration" class="org.jboss.remoting.ServerConfiguration">
<constructor>
<parameter>bisocket</parameter>
</constructor>
<!-- Parameters visible to both client and server -->
<property name="invokerLocatorParameters">
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry>
<key>serverBindAddress</key>
<value>
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector</parameter>
<parameter>${host}</parameter>
</value-factory>
</value>
</entry>
<entry>
<key>serverBindPort</key>
<value>
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector</parameter>
<parameter>${port}</parameter>
</value-factory>
</value>
</entry>
...
<entry><key>marshaller</key> <value>org.jboss.jms.wireformat.JMSWireFormat</value></entry>
<entry><key>unmarshaller</key> <value>org.jboss.jms.wireformat.JMSWireFormat</value></entry>
</map
</property>
<!-- Parameters visible only to server -->
<property name="serverParameters">
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry><key>callbackTimeout</key> <value>10000</value></entry>
</map>
</property>
...
</bean>
このバージョンでは、設定情報は JBMConfiguration
ServerConfiguration POJO に表現され、 JBMConnector org.jboss.remoting.transport.Connector POJO に挿入されます。構文は Microcontainer の構文ですが、本章の範囲外となりますので、詳細は 7章マイクロコンテナー を参照してください。また、MBean バージョンのバリエーションの 1 つが ServiceBindingManager の使用になりますが、これも本章の範囲外となります。@org.jboss.aop.microcontainer.aspects.jmx.JMX アノテーションによって、JBMConnector が「jboss.messaging:service=Connector,transport=bisocket」という名前の MBean として表示されるようになります。