1
我想为通过上下文/ JNDI开发的Web应用程序提供配置。我目前使用捆绑的Glassfish服务器在Netbeans 8.1中开发,尽管我的解决方案应该是容器不可知的。创建自定义JNDI资源
我有用于获取数据库连接的工作设置,但难以理解自定义资源类型。
在web.xml:
<resource-ref>
<res-ref-name>SHOWmail/search</res-ref-name>
<res-type>com.example.SearchProvider</res-type>
<res-auth>Container</res-auth>
</resource-ref>
GlassFish中-resources.xml中:
<custom-resource jndi-name="SHOWmail/search" res-type="com.example.SearchProvider" factory-class="com.example.SearchProviderFactory">
<property name="name" value="value"/>
</custom-resource>
在代码:
initContext = new InitialContext();
envContext = (Context) initContext.lookup("java:comp/env");
search = (SearchProvider)envContext.lookup("SHOWmail/search");
我得到可靠javax.naming.NameNotFoundException: No object bound to name java:SHOWmail/search
。我的工厂和班级没有碰触(如果需要,将添加)。
指向我出错的地方非常感谢。
我也试着'<资源-ENV-REF>'代替'<资源引用>',具有相同的结果。 –