2016-05-31 3 views
1

異なるアプリケーションで複数のJNDIパラメータを使用して同じアプリケーションを複数回配備する必要がありますが、その方法を見つけることができません。GlassFishの異なるスタンドアロンインスタンスのJNDIパラメータの値が異なる

異なるスタンドアロンインスタンスを持ち、1つまたは複数のインスタンスに異なるJNDIリソースを適用できますが、異なるインスタンスに対して異なるリソース名を使用することはできません。 私は必要なものを達成する方法は何ですか?

+0

異なるJNDI _パラメータによって、どういう意味ですか?これは、JNDIに渡される追加プロパティ、つまりproperty.value = 'value1'、property.value = 'value2'、JNDI1、JNDI2などの異なるJNDI値のようなものですか? –

答えて

0

これを使用することです:

@Resource(lookup = "java:app/AppName") 
    private String appName; 

    private String myJndiParameter; 

そして、私は、注釈にカスタムJNDIパラメータを取得するために変数を使用することはできませんので、その後、私は@PostConstructメソッドを作成し、

のGlassFishで
@PostConstruct 
    public void initialize() 
    { 
     try 
     { 
     myJndiParameter = (String) new javax.naming.InitialContext().lookup(appName + "/" + "my.jndi.parameter.name"); 
     } catch (NamingException e) 
     { 
     // Treat exception 
     } 
    } 

、私のカスタムリソース名は次のようになります:

myapp/my.jndi.parameter.name 
私は私がしたいJNDI値、このような何かを取得する場所0

改善のための提案があります:)

0

この要件を満たすには、プロパティファイルで異なるJNDI構成を使用し、JVM引数の値を渡して各構成を複数のglassfishサーバーインスタンスに適用します。だから私が何をしたか最後に

+0

申し訳ありません何かが起きてから賞金が切れるつもりだったので、これほど多くのことをすることができませんでした。あなたのアイデアは私が必要としているものだと思います。GlassFishでどのように設定するのか、プロパティファイルはどのように見えるのでしょうか?あなたがして働くなら、私はあなたの答えを受け入れるでしょう – enkara

+0

確かに。私ができるだけ早くその例を提供しましょう。 –

関連する問題