4.1.1管理界面我已经设置了一个名为jdbc / MySQL的JDBC资源,该资源链接到名为MySQL的JDBC连接池(首先手动修改了domain.xml)。连接池上的ping成功。到目前为止一切都很好。
我修改了web.xml并添加了:
@if ( ! Route::is('global-search'))
@include('search.form')
@endif
和glassfish-web.xml:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/MySQL</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
但在我的J2EE WAR中,当我这样做时:
<resource-ref>
<res-ref-name>jdbc/MySQL</res-ref-name>
<jndi-name>jdbc/MySQL</jndi-name>
</resource-ref>
结果总是Lookup失败。
删除java:comp / env /没有帮助。
任何提示都表示赞赏!谢谢。
此致 约翰
答案 0 :(得分:0)
好的,我得到了它的工作。资源已启用,并且不需要在web.xml和glassfish-web.xml中进行修改,我只是在尝试修复它时尝试了这一点。
但你知道原因是什么吗? JNDI名称中的斜杠。今天我在资源的管理面板中按下保存按钮时发现了错误“资源jndi%2FMySQL不存在”。我把它作为一个提示,并将资源命名为'mysql'。修复它:)有人可以在glassfish 4.1.1上确认。?
由于管理面板中添加了新资源的错误,我不得不在开始时手动将其插入到domain.xml中。也许这就是原因?但是默认资源也用斜杠保存......
顺便说一下。现在查找:
ctx.lookup("mysql");