4
当我们通过JNDI对象的查找,我们做这样的事情:当关闭JNDI上下文
public SomeResult doSomething() {
Context ctx;
try {
ctx = new InitialContext(properties);
SomeClass someObject = (SomeClass) ctx.lookup("jndiName");
SomeResult someResult = someObject.getResult();
return someResult
} finally {
ctx.close();
}
}
一位同事这样做是有所不同是这样的:
public SomeClass getSomeClass() {
Context ctx;
SomeClass someObject = null;
try {
ctx = new InitialContext(properties);
SomeClass someObject = (SomeClass) ctx.lookup("jndiName");
return someObject
} finally {
ctx.close();
}
}
那让我想知道,哪一个使用?关闭上下文后返回的对象是否有效?这是通过纯粹的巧合还是仅仅是为了查找和对象(作为ejb的代理)是自持的?
我试图找到在JNDI-SPEC的东西......但一无所获......但我可能只是盲目;-)
什么是通过JNDI,并使用它来查找一个EJB的最佳实践,并且出于何种原因。