Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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_Netbeans_Glassfish_Jndi_Netbeans 8 - Fatal编程技术网

Java 创建自定义JNDI资源

Java 创建自定义JNDI资源,java,netbeans,glassfish,jndi,netbeans-8,Java,Netbeans,Glassfish,Jndi,Netbeans 8,我想通过context/JNDI为我正在开发的web应用程序提供配置。我目前正在使用捆绑的Glassfish服务器开发Netbeans 8.1,尽管我的解决方案应该是容器无关的 我有用于获取数据库连接的工作设置,但却被自定义资源类型难住了 在web.xml中: <resource-ref> <res-ref-name>SHOWmail/search</res-ref-name> <res-type>com.example.Searc

我想通过context/JNDI为我正在开发的web应用程序提供配置。我目前正在使用捆绑的Glassfish服务器开发Netbeans 8.1,尽管我的解决方案应该是容器无关的

我有用于获取数据库连接的工作设置,但却被自定义资源类型难住了

在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>
我得到了
javax.naming.NameNotFoundException:没有对象绑定到名称java:SHOWmail/search
。我的工厂和类不受影响(如果需要,将添加)


非常感谢关于我哪里出错的指针。

似乎我误解了netbeans/glassfish组合中不同的JNDI名称空间

解决方案是查看
java:app
而不是
java:comp/env
;这将搜索WEB-INF/glassfish-resources.xml

web.xml

<resource-env-ref>
    <resource-env-ref-name>SHOWmail/search</resource-env-ref-name>
    <resource-env-ref-type>com.example.SearchProviderFactory</resource-env-ref-type>
</resource-env-ref>

显示邮件/搜索
com.example.SearchProviderFactory
glassfish-resources.xml

<custom-resource jndi-name="java:app/SHOWmail/search" res-type="com.example.ElasticSearchProvider" factory-class="com.example.SearchProviderFactory">
</custom-resource>

我也尝试了
而不是
,结果相同。
<resource-env-ref>
    <resource-env-ref-name>SHOWmail/search</resource-env-ref-name>
    <resource-env-ref-type>com.example.SearchProviderFactory</resource-env-ref-type>
</resource-env-ref>
<custom-resource jndi-name="java:app/SHOWmail/search" res-type="com.example.ElasticSearchProvider" factory-class="com.example.SearchProviderFactory">
</custom-resource>