加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖注入 – 使用@Resource使用Java EE 6和Glassfish 3.1注入资

发布时间:2020-12-14 00:50:12 所属栏目:百科 来源:网络整理
导读:我在使用Java EE 6和Glassfish 3.1(嵌入式)时使用@Resource注释时遇到了麻烦.我想查找一个JNDI数据源,所以我试图让它使用Glassfish中的默认数据源.在我的代码中,我有: @Resource(lookup = "java:global/env/jdbc/__default")DataSource dataSource; 它汇编
我在使用Java EE 6和Glassfish 3.1(嵌入式)时使用@Resource注释时遇到了麻烦.我想查找一个JNDI数据源,所以我试图让它使用Glassfish中的默认数据源.在我的代码中,我有:
@Resource(lookup = "java:global/env/jdbc/__default")
DataSource dataSource;

它汇编很好.我正在使用Maven的建议here.

但是,当我部署.war时,我总是会收到以下错误:

WARNING: Incorrect @Resource annotation class definition - missing lookup attribute
  symbol: FIELD
  location: javax.sql.DataSource ResourceLookup.dataSource

这是一个简单的例子,如果它是一个bug,我会非常惊讶.我一定做错了什么.有任何想法吗?

作为测试,您可以尝试“jdbc / __ default”作为查找字符串吗?对于我的数据源,我使用我指定的jndi名称查找它们,总是使用模式“jdbc / MyDataSourceName”.

@Resource(lookup =“jdbc / MyDataSourceName”)效果很好.从未尝试查找默认的ds,特别是不通过java:global命名空间.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读