我需要在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