Glassfish中的JNDI配置/查找

我无法在Glassfish中获得一些基本的JNDI配置。

我有我认为应该是一个简单的任务:在运行时,确定一个特定的属性是否设置为true。 我认为这是一个很好的JNDI应用程序,但似乎无法获得应用程序服务器和我的servlet代码之间的正确路径。

以下是我在Glassfish中配置属性的方法:

在这里输入图像描述

在我的servlet代码中,我试图通过以下方式查找该值:

Boolean enabled = (Boolean) ctx.lookup("java:global/arizona/quartz_enabled");

除了这条道路之外,我还尝试了以下尝试但没有成功:

  • Java的:全球/亚利桑那/亚利桑那/ quartz_enabled
  • 的java:模块/亚利桑那/ quartz_enabled
  • 的java:模块/亚利桑那/亚利桑那/ quartz_enabled
  • 我的应用程序被命名为“亚利桑那州”,但部署到根环境,如果这很重要。

    我确信这只是一个简单的事情,可以找出适当的命名空间来到达这个属性,但我觉得我只是在黑暗中试图找到它。 有没有简单的方法来浏览Glassfish中的JNDI树?


    查找在服务器中创建的JNDI资源时,它的JNDI名称就是您在服务器上输入的名称。 IE:

    布尔启用=(布尔)ctx.lookup(“亚利桑那”);

    关于JNDI名称的约定以及关于如何查看所有内容的一些示例代码,请参阅此页面:

    http://www.javaworld.com/javaworld/jw-01-2000/jw-01-howto.html


    在类似的情况下,我只是在实例化对象(此例中为InitialContext )的地方放置一个断点,然后对其进行评估。 IntelliJ IDEA具有很好的评估器,不太确定其他的,可以说是较差的IDE。

    顺便说一句,所有Java EE绑定的正确前缀是java:comp/env/ ,例如java:comp/env/arizona/quartz_enabled

    你可能也想看看这个资源。


    我不能让它与javax.naming.InitialContext#lookup一起工作,但是要注入资源

    @Resource(name = "arizona/quartz_enabled")
    private Boolean enabled;
    

    工作得很好。

    链接地址: http://www.djcxy.com/p/51399.html

    上一篇: JNDI configuration/lookup in Glassfish

    下一篇: Help to resolve 'Out of memory' exception when calling DrawImage