gpt4 book ai didi

dependency-injection - 使用 @Resource 使用 Java EE 6 和 Glassfish 3.1 注入(inject)资源时遇到问题

转载 作者:行者123 更新时间:2023-12-04 06:22:12 25 4
gpt4 key购买 nike

我在尝试将 @Resource 注释与 Java EE 6 和 Glassfish 3.1(嵌入式)一起使用时遇到问题。我想查找一个 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

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

最佳答案

作为测试,您可以尝试将“jdbc/__default”作为查找字符串吗?对于我的数据源,我使用我指定的 jndi 名称查找它们,始终使用模式“jdbc/MyDataSourceName”。

@Resource(lookup="jdbc/MyDataSourceName") 效果很好。从未尝试查找默认 ds,尤其是不通过 java:global 命名空间。

关于dependency-injection - 使用 @Resource 使用 Java EE 6 和 Glassfish 3.1 注入(inject)资源时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com