我正在使用GlassFish v3。以下字段在类中声明:
@Resource
private javax.sql.DataSource _data_source;下面是在web.xml中声明的:
<data-source>
<name>java:app/env/data</name>
<class-name>com.mysql.jdbc.Driver</class-name>
<server-name>localhost</server-name>
<port-number>3306</port-number>
<user>myUser</user>
<password>myPass</password>
</data-source>在运行时,_data_source为空。我做错了什么?
发布于 2010-06-13 07:40:27
你能试试这个吗:
@Resource(lookup = "java:app/env/data")
private DataSource _data_source;另请参阅
发布于 2010-06-13 07:55:51
除了Pascal的回答:如果通过注解的注入不起作用(没有异常发生,字段只是空),问题通常是旧的部署描述符版本。对于Glasfish v3,您可以使用:
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">发布于 2010-07-30 21:29:10
尝试使用:
@Resource(lookup="java:app/env/data")
private DataSource _data_source;https://stackoverflow.com/questions/3030483
复制相似问题