Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否存在任何简单的JNDI上下文实现,这意味着它们可以启动/停止等,而不会发生泄漏_Java_Jndi - Fatal编程技术网

Java 是否存在任何简单的JNDI上下文实现,这意味着它们可以启动/停止等,而不会发生泄漏

Java 是否存在任何简单的JNDI上下文实现,这意味着它们可以启动/停止等,而不会发生泄漏,java,jndi,Java,Jndi,我不是一个特别喜欢JNDI的人——我认为这是一种糟糕的技术,因为有很多原因需要使用OSGI JNDI不是自包含的 它太容易泄漏并将内容留在jndi中 因为它是基于字符串的,所以很容易发生冲突 JNDI通常是一个没有作用域的全局事物——任何人都在添加内容,只要绑定时没有命名冲突 它应该是无套接字的-仅从映射中寻找对象 我想控制jndi上下文的范围。我需要它来使用Hornet JMS层,不幸的是,它使用JNDI来注册队列、主题等。我不想提供我自己的编码JNDI上下文,而是想尝试重用另一个提供其作

我不是一个特别喜欢JNDI的人——我认为这是一种糟糕的技术,因为有很多原因需要使用OSGI

  • JNDI不是自包含的
  • 它太容易泄漏并将内容留在jndi中
  • 因为它是基于字符串的,所以很容易发生冲突
  • JNDI通常是一个没有作用域的全局事物——任何人都在添加内容,只要绑定时没有命名冲突
  • 它应该是无套接字的-仅从映射中寻找对象
我想控制jndi上下文的范围。我需要它来使用Hornet JMS层,不幸的是,它使用JNDI来注册队列、主题等。我不想提供我自己的编码JNDI上下文,而是想尝试重用另一个提供其作用域而非全局的JNDI上下文


有人对解决这个问题有什么解决方案/建议吗?

解决这个问题不需要JNDI上下文实现。您只需要像Java的其他部分一样正确地编写资源获取和发布代码:基本上,通过
Context.close()
finally{}
块中。还要确保关闭您可能拥有的任何
namingumerations

您不需要JNDI上下文实现来解决此问题。您只需要像Java的其他部分一样正确地编写资源获取和发布代码:基本上,通过
Context.close()
finally{}
块中。还要确保关闭您可能拥有的任何
namingumerations

SimpleJNDI是JNDI的开源实现,支持内存上下文,可以从文件夹(子上下文)和属性/XML文件(对象)树中填充

官方网站上的更多信息:(文档在可下载的档案中)


(注意:这不是一个活动项目-最新版本是2010年发布的-但无论如何它都会有所帮助…

SimpleJNDI是JNDI的开源实现,它支持内存上下文,可以从文件夹(子上下文)和属性/XML文件(对象)树中填充

官方网站上的更多信息:(文档在可下载的档案中)


(注:这不是一个活动项目-最新版本是2010年发布的-但无论如何它都会有所帮助…

我认为简单的JNDI可以满足您“提供其作用域而非全局”的要求。您可以将其配置为生成共享或非共享上下文。在非共享模式下,每次调用

Context ctx = new InitialContext()
您将获得只有调用代码才能查看和修改的上下文定义的唯一内存副本


要了解更多信息,请访问。它是一个基于旧的osjava简单JNDI的活动项目

我认为简单JNDI可以满足“提供其作用域而非全局”的需求。您可以将其配置为生成共享或非共享上下文。在非共享模式下,每次调用

Context ctx = new InitialContext()
您将获得只有调用代码才能查看和修改的上下文定义的唯一内存副本


要了解更多信息,请访问。它是一个基于旧的osjava简单JNDI的活动项目

您是在谈论您自己的JNDI上下文实现吗?您是在谈论您自己的JNDI上下文实现吗?不幸的是,许多LIB想要JNDI本身,而我宁愿提供一个无套接字实现,它从映射之类的东西(我可以预填充)中获取对象。如果这些库存在资源泄漏,向供应商投诉。我看不出提供自己的JNDI上下文实现如何能够阻止这种情况。不幸的是,许多LIB想要JNDI本身,而我宁愿提供一个无套接字的实现,从映射之类的东西(我可以预填充)中获取对象。如果这些库存在资源泄漏,请向供应商投诉。我不知道提供自己的JNDI上下文实现如何阻止这种情况。