私のSpring設定は次のようになります:
<jee:remote-slsb id="ejb1"
jndi-name="org.example.Ejb1"
business-interface="org.example.Ejb1"
environment-ref="ejb1Properties">
</jee:remote-slsb>
<util:properties id="ejb1Properties" location="classpath:ejb1.properties"/>
<jee:remote-slsb id="ejb2"
jndi-name="org.example.Ejb2"
business-interface="org.example.Ejb2"
environment-ref="ejb2Properties">
</jee:remote-slsb>
<util:properties id="ejb2Properties" location="classpath:ejb2.properties"/>
... 2 つの EJB が異なる JNDI URL、異なるコンテキスト ファクトリ、および認証資格情報を使用する可能性があるためです。ejb1.properties と ejb2.properties には、値が異なる同じ名前のプロパティがあります。
ejb1.properties:
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://example1:7101
java.naming.security.principal=id1
java.naming.security.credential=foo
ejb2.properties:
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.provider.url=t3://example2:7101
java.naming.security.principal=id2
java.naming.security.credential=bar
ただし、ユーザーには、2 つではなく 1 つのプロパティ ファイルを保持してもらいたいと考えています。
明らかに、コア プロパティ ファイルから ejb1.properties および ejb2.properties を生成する起動スクリプトを作成するのは簡単です。しかし、名前を適切にマッピングして、Spring に単一のファイルからプロパティを取得させる方法はありますか?