我在使用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命名空间.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。