1

JEE6でJNDIと@Resourceを使用してファイルを挿入することは可能ですか?

その場合、Glassfish で JNDI (ファイル) リソースをセットアップするにはどうすればよいですか?

4

1 に答える 1

0

プロパティ ファイルを次のように構成することが目的の場合:

@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 を使用してプロパティを取得します。

または、アプリケーションが JSF の場合:

  1. 次のように、faces-config.xml ファイルにリソース バンドルを追加します。

     <application>
        <resource-bundle>
            <base-name>/YourProperties</base-name>
            <var>yourProperties</var>
        </resource-bundle>
    </application>
    
  2. 次のように、対応する YourProperties.properties ファイルをクラスパスまたは maven リソース フォルダーに追加します。
    Maven リソース フォルダー

  3. コンテナー管理 Bean に、次のスニペットを追加します。

    private String someString;
    
    @PostConstruct
    public void loadProperty(){
        someString = ResourceBundle.getBundle("/YourProperties").getString("prop1");
     }
    
于 2013-08-31T17:16:28.283 に答える