[英]Different value of JNDI parameter for different standalone instances in GlassFish
我需要使用不同的JNDI參數多次在GlassFish中部署相同的應用程序,但我找不到這樣做的方法。
我知道我可以擁有不同的獨立實例,並將不同的JNDI資源應用於一個或多個實例,但是我不能為不同的實例使用不同的值具有相同的資源名稱。 實現我需要的方法是什么?
要實現此要求,可以在屬性文件中使用不同的JNDI配置,並傳遞JVM參數中的值,以將每個配置應用於多個glassfish服務器實例。
所以最后我做的是用這個:
@Resource(lookup = "java:app/AppName")
private String appName;
private String myJndiParameter;
然后因為我不能使用變量來獲取注釋中的自定義jndi參數,所以我創建了一個@PostConstruct方法,在那里我得到了我想要的jndi值,如下所示:
@PostConstruct
public void initialize ()
{
try
{
myJndiParameter = (String) new javax.naming.InitialContext().lookup(appName + "/" + "my.jndi.parameter.name");
} catch (NamingException e)
{
// Treat exception
}
}
在GlassFish中,我的自定義資源名稱如下所示:
myapp/my.jndi.parameter.name
我願意接受改進建議:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.