(请善待,这些是我在Java EE中的第一步)。 我正在使用Netbeans 8.1,在本地Glassfish服务器上部署EJB模块。 我有一个glassfish-resource.xml,定义了以下资源:
<jdbc-resource enabled="true" jndi-name="java:app/jdbc/myDataSource"
我有一个DAO课程,我正在尝试注入该资源
@Named
public class SimpleDal {
@Resource(name = "jdbc/myDataSource", lookup = "java:app/jdbc/myDataSource")
private static DataSource ds ;
我已经尝试了几种方法来完成这项工作,但我总是在变量ds中得到NULL。我一直在调试和查询上下文,我最终总是找不到名称java:app/jdbc/myDataSource
。
也许我没有做对,这是我在Java EE上的第一步(我总是为PHP开发)。有人可以指导我,以免失去更多时间吗?感谢
注意:我已经将@Named
注释添加到SimpleDal类中,因为我已经读过某些地方,为了使注入工作,我必须在Bean上。
答案 0 :(得分:0)
所以,经过一段时间后,我终于发现注射在静态字段上不能可靠地工作(至少在我的设置上)。将字段更改为实例字段并且工作正常。为面临相同情况的任何人发布此答案