我需要在GlassFish中多次部署同一個應用程序,並使用不同的JNDI參數,但我找不到這樣做的方法。GlassFish中不同獨立實例的JNDI參數值不同
我知道我可以擁有不同的獨立實例,並將不同的JNDI資源應用於一個或多個實例,但我無法爲不同的實例使用不同值的相同資源名稱。 什麼是實現我所需要的方式?
我需要在GlassFish中多次部署同一個應用程序,並使用不同的JNDI參數,但我找不到這樣做的方法。GlassFish中不同獨立實例的JNDI參數值不同
我知道我可以擁有不同的獨立實例,並將不同的JNDI資源應用於一個或多個實例,但我無法爲不同的實例使用不同值的相同資源名稱。 什麼是實現我所需要的方式?
所以最後我所做的就是用這樣的:
@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
我願意改進它:)
要實現該要求,可以在屬性文件中使用不同的JNDI配置,並在JVM參數中傳遞值以將每個配置應用於多個glassfish服務器實例。
很抱歉,自從發生了一些事情後,我一直無法處理這些事情,但賞金即將過期。我相信你的想法更多是我需要的,你會介紹一個例子,你將如何在GlassFish中配置它,以及屬性文件將如何顯示?如果你這樣做,我會接受你的回答 – enkara
當然。讓我儘快提供示例。 –
你是什麼意思是由不同的JNDI _parameters_?是否像傳遞給JNDI的附加屬性,即property.value ='value1',property.value ='value2',或者像JNDI1,JNDI2等不同的JNDI值? – 2016-06-21 20:16:52