Remoting は複数のインターフェースにバインドされるサーバーを作成することができます。 このファシリティの適応例として、 1 つのサーバーをインターネットに面するインターフェースと LAN に面する別のインターフェースにバインドすることができます。 例えば、 前述の POJO 例に POJO を追加して (1) 変更することができます。
<bean name="homes1" class="java.lang.StringBuffer">
<constructor>
<parameter class="java.lang.String">
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector:bindingHome1</parameter>
<parameter>${host}:${port}</parameter>
</value-factory>
</parameter>
</constructor>
</bean>
<bean name="homes2" class="java.lang.StringBuffer">
<constructor factoryMethod="append">
<factory bean="homes1"/>
<parameter>
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector:bindingHome2</parameter>
<parameter>!${host}:${port}</parameter>
</value-factory>
</parameter>
</constructor>
</bean>
<bean name="homes1" class="java.lang.StringBuffer">
<constructor>
<parameter class="java.lang.String">
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector:bindingHome1</parameter>
<parameter>${host}:${port}</parameter>
</value-factory>
</parameter>
</constructor>
</bean>
<bean name="homes2" class="java.lang.StringBuffer">
<constructor factoryMethod="append">
<factory bean="homes1"/>
<parameter>
<value-factory bean="ServiceBindingManager" method="getStringBinding">
<parameter>JBMConnector:bindingHome2</parameter>
<parameter>!${host}:${port}</parameter>
</value-factory>
</parameter>
</constructor>
</bean>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
これにより、StringBuffer の値が 「external.acme.com:5555!internal.acme.com:4444」のようになります (JBMConnector:bindingHome1 and JBMConnector:bindingHome2 のServiceBindingManager 設定値による)。また、 「serverBindAddress」 パラメーターと 「serverBindPort」 パラメーターが次に置き換えられます (2)。
<entry>
<key>homes</key>
<value><value-factory bean="homes2" method="toString"/></value>
</entry>
<entry>
<key>homes</key>
<value><value-factory bean="homes2" method="toString"/></value>
</entry>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
これにより、StringBuffer が文字列「external.acme.com:5555!internal.acme.com:4444」 に変換され、 JBMConnector に挿入されます。結果、 InvokerLocator は次のようになります。
bisocket://multihome/?homes=external.acme.com:5555!internal.acme.com:
4444&marshaller=org.jboss.jms.wireformat.JMSWireFormat&
unmarshaller=org.jboss.jms.wireformat.JMSWireFormat
bisocket://multihome/?homes=external.acme.com:5555!internal.acme.com:
4444&marshaller=org.jboss.jms.wireformat.JMSWireFormat&
unmarshaller=org.jboss.jms.wireformat.JMSWireFormat
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow