我在我的Geronimo服务器中定义了一个名为LocalMysql的数据源。我可以使用Geronimo管理控制台查询数据库,并获取数据,所以我知道它至少在应用程序服务器上正确配置。
我的下一步是在Eclipse中创建一个Spring MVC项目。除了模板生成的代码之外,我在servlet-context.xml中添加了以下行。
在“beans”声明中:
<beans ... xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="...
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee.xsd"
然后,在文件正文中添加:
<jee:jndi-lookup id="mysqlDatasource" jndi-name="LocalMysql"/>
我还需要做什么连接?
使用更新编辑
除了下面web.xml中列出的标记外,我还将以下内容添加到geronimo-web.xml中:
<dep:dependency>
<dep:groupId>console.dbpool</dep:groupId>
<dep:artifactId>LocalMysql</dep:artifactId>
<dep:version>1.0</dep:version>
<dep:type>car</dep:type>
</dep:dependency>
以及:
<name:resource-ref>
<name:ref-name>LocalMysql</name:ref-name>
<name:resource-link/>
</name:resource-ref>
即使添加了这些内容,我仍然会遇到以下异常:
Unable to resolve resource reference 'java:comp/env/LocalMysql'
(Could not find resource ''. Perhaps it has not yet been configured,
or your application does not have a dependency declared for that
resource module?
答案 0 :(得分:0)
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/yourresource"
expected-type="javax.sql.DataSource" resource-ref="true" />
web.xml
中的引用:
<resource-ref>
<res-ref-name>jdbc/yourresource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>