我在我的应用程序中使用InitialContext来查找远程EJBs。有一些外部系统会通知我一些事件,当发生这种情况时,我将此通知委托给适当的远程EJB。
我一直认为我应该为每组查找创建一个新的InitialContext(甚至在这些之后关闭初始上下文)。在上述情况下,每个查找都是一个InitialContext实例。尽管我的团队中有些人并不确定。
所以问题是: InitialContext实例是否应该被缓存?如果是,那么我应该保持这个实例多长时间,并为什么?
我在我的应用程序中使用InitialContext来查找远程EJBs。有一些外部系统会通知我一些事件,当发生这种情况时,我将此通知委托给适当的远程EJB。
我一直认为我应该为每组查找创建一个新的InitialContext(甚至在这些之后关闭初始上下文)。在上述情况下,每个查找都是一个InitialContext实例。尽管我的团队中有些人并不确定。
所以问题是: InitialContext实例是否应该被缓存?如果是,那么我应该保持这个实例多长时间,并为什么?
既然您的IntialContext不过是对命名空间起始点的引用,因此无论您每次都进行新建还是将其引用存储在某处,都不应该有影响。
仅当其背后的服务提供商在初始化时执行了大量工作并且重复执行会降低性能时,才可能会有影响。
进一步阅读:Java教程中的JNDI指南