私は Tomcat にあまり詳しくありませんが、私のチームは、多数のサーバーにわたって Tomcat でホストされている Java サーブレットを中心に展開する複雑なプロジェクトを継承しています。カスタム構成管理ソフトウェアを使用して server.xml を書き出し、server.xml に書き込まれたさまざまなリソース (接続プール、Bean、サーバー変数など) がサーブレットを構成します。これはすべて順調です。
ただし、一部のリソースの名前は事前にわかりません。たとえば、サーブレットは、オペレーターによって構成された任意の数の「アノニマイザー」にアクセスする必要がある場合があります。各アノニマイザーには、固有の名前が関連付けられています。次のような Java Bean を使用して、各アノニマイザーを作成および構成します。
<Resource
name="bean/Anonymizer_toon"
type="com.company.tomcatutil.AnonymizerBean"
factory="org.apache.naming.factory.BeanFactory"
className="teAnonymizer"
databaseId="50"
/>
<Resource
name="bean/Anonymizer_default"
type="com.company.tomcatutil.AnonymizerBean"
factory="org.apache.naming.factory.BeanFactory"
className="teAnonymizer"
databaseId="54"
/>
ただし、これには、可能性のあるすべてのリソース名について、事前にサーブレットの context.xml ファイルに明示的なエントリを用意する必要があるようです。明示的な context.xml エントリをワイルドカードに置き換えるか、この種の問題に対するより良い解決策があるかどうかを知りたいです。
現在:
<ResourceLink name="bean/Anonymizer_default"
global="bean/Anonymizer_default"
type="com.company.tomcatutil.AnonymizerBean"/>
<ResourceLink name="bean/Anonymizer_toon"
global="bean/Anonymizer_toon"
type="com.company.tomcatutil.AnonymizerBean"/>
次のようなものに置き換えられます。
<ResourceLink name="bean/Anonymizer_*"
global="bean/Anonymizer_*"
type="com.company.tomcatutil.AnonymizerBean"/>
ただし、これが可能かどうか、または正しい構文が何であるかはわかりません。これを処理するためのより良い方法について誰か提案できますか?