お客様が 2 つの Jboss クラスター (SYSTEM1、SYSTEM2) を持つことができるという要件があります。各クラスターには 2 つの Jboss EAP 7.3 インスタンスを含めることができます。SYSTEM1 ノード 1、ノード 2 SYSTEM2 ノード 3、ノード 4
私のクライアントは、リモート Jboss インスタンスに接続するためにリモート ルックアップを作成します。UI が起動している間、SYSTEM コンボボックス ボックスが表示され、ユーザーは SYSTEM を選択できます。ユーザーが SYSTEM1 を選択すると、クライアントは Node1、Node2 に対して ejb 呼び出しを行います。ユーザーが SYSTEM2 を選択すると、クライアントは Node3、Node4 に対して ejb 呼び出しを行います。この機能は jboss-ejb-client.properties で提供できました。
customer.system.names=PROD,QUALITY
remote.clusters=ejb
remote.cluster.ejb.clusternode.selector=com.client.NodeSelector
remote.cluster.ejb.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.cluster.ejb.connect.options.org.xnio.Options.SSL_ENABLED=false
remote.cluster.ejb.username=test
remote.cluster.ejb.password=password
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=PROD1,PROD2
remote.connection.PROD1.host=localhost
remote.connection.PROD1.port = 8080
remote.connection.PROD1.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.PROD2.host=localhost
remote.connection.PROD2.port = 8180
remote.connection.PROD2.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.QUALITY1.host=localhost
remote.connection.QUALITY1.port = 8280
remote.connection.QUALITY1.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.QUALITY2.host=localhost
remote.connection.QUALITY2.port = 8380
remote.connection.QUALITY2.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
ユーザーの選択に従って、正しいシステムに接続するためのプロパティを設定していました
EJBClientConfiguration cc = new PropertiesBasedEJBClientConfiguration(prop);
ContextSelector<EJBClientContext> selector = new ConfigBasedEJBClientContextSelector(cc);
EJBClientContext.setSelector(selector)
現在、このロジックは Jboss EAP7.3 では機能しません。Wildfy Config は、ejb クライアント処理用に実装されています。しかし、新しいバージョンの Jboss で同じ機能を提供する方法が見つかりませんでした。クラスタリング機能は提供しません