如何通过java:com/env-scheme在glassfish中查看自定义资源?

doe*_*man 5 java glassfish java-ee

我在GlassFish中创建了一些JDBC资源和自定义资源.我将JDBC资源jdbc/mydb和自定义资源命名为service/test.

通过调用查找JDBC连接ic.lookup("java:comp/env/jdbc/mydb").它也可以找到ic.lookup("jdbc/mydb"),它有一些缺点,见下面Robin的答案.

但是必须查找我的自定义资源ic.lookup("service/test").这条线ic.lookup("java:comp/env/service/test")不起作用.是否可能,如果是的话:怎么样?

Rob*_*bin 3

该前缀指示已为从中进行 JNDI 查找的 Java EE 实体定义的资源引用的用法。您还必须为自定义资源定义这样的引用,才能以相同的方式查找它。

JDBC 查找也不需要前缀,因为您可以使用完整的 jndi 名称。这种方法的问题是,如果您移动资源,使其不再位于本地初始上下文中,则如果不更改代码中的查找名称以包含位置信息,您将找不到它。使用引用可以保护您的代码免受此影响,因此只有引用中的映射会发生变化。

这里有一些关于使用的信息