JEE6でJNDIと@Resourceを使用してファイルを挿入することは可能ですか?
その場合、Glassfish で JNDI (ファイル) リソースをセットアップするにはどうすればよいですか?
プロパティ ファイルを次のように構成することが目的の場合:
@Inject
@Resource("META-INF/aws.properties")
Properties awsProperties;
次に、ここの WELD ドキュメントで説明されている WELD 拡張機能を使用します。
これをPOMに追加するのと同じくらい簡単です
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-extensions</artifactId>
<version>${weld.extensions.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
プログラムによるアプローチについては、この記事を参照してください。
プロパティを DB スキーマ テーブルに格納し、JPA 2.0 を使用して、JNDI を指す JTA を使用してプロパティを取得します。
次のように、faces-config.xml ファイルにリソース バンドルを追加します。
<application>
<resource-bundle>
<base-name>/YourProperties</base-name>
<var>yourProperties</var>
</resource-bundle>
</application>
次のように、対応する YourProperties.properties ファイルをクラスパスまたは maven リソース フォルダーに追加します。
コンテナー管理 Bean に、次のスニペットを追加します。
private String someString;
@PostConstruct
public void loadProperty(){
someString = ResourceBundle.getBundle("/YourProperties").getString("prop1");
}