2
当我们为远程访问Enterprise Java Bean创建新的InitialContext
时,工作完成后,我们是否应该始终通过context.close()
关闭context
?我们是否应该总是关闭JBoss应用程序客户端的javax.naming.InitialContext?
下面是一个代码示例:
// Client side method
private void doSomeActionMethod() {
RouteTransactionFacadeBeanRemote remote = null;
final Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
Context context = null;
try {
context = new InitialContext(jndiProperties);
remote = (RouteTransactionFacadeBeanRemote) context
.lookup("ejb:EJBEAR/EJBServer//RouteTransactionFacadeBean!facade.RouteTransactionFacadeBeanRemote");
//DO SOMETHING WITH REMOTE EJB
} catch (NamingException e) {
e.printStackTrace();
} finally {
try {
// Should we always do this?
if (context != null) context.close();
} catch (NamingException ex) {
ex.printStackTrace();
}
}
}