jdbc - Glassfish - 资源注入(inject)不起作用

标签 jdbc dependency-injection glassfish datasource

使用 NetBeans IDE 和 Glassfish 服务器。由于某种原因,我无法注入(inject)数据源(已经尝试了一百万种变体)。

private DataSource iserver;
@Resource(name="jdbc/iserver", type=DataSource.class)
public void setIServer(DataSource dataSource) {
    this.iserver = dataSource;
}

(我已经尝试将 @Resource 注释直接添加到该字段)。连接池和jdbc资源是在Glassfish上配置的,暂时我添加了解决方法代码(在同一个类中):

ctx = new InitialContext();
iserver = (DataSource) ctx.lookup("jdbc/iserver");

解决方法代码完美运行。我在 Glassfish 日志中没有看到任何明显相关错误。我确实看到了这一点,但不确定它是否相关:

*在 javax.management.ObjectName.construct(ObjectName.java:405) 处,名称不能为 null * 在 org.glassfish 处的 javax.management.ObjectName.(ObjectName.java:1403) 处。 admingui.common.handlers.ProxyHandlers.getRuntimeProxyAttrs(ProxyHandlers.java:289) 在 org.glassfish.admingui.common.handlers.ProxyHandlers.getProxyAttrs(ProxyHandlers.java:273) 在...

有什么建议吗?

最佳答案

通过“lookup”选择选项“name” -->

@Resource(lookup = "java:global/env/jdbc/__default")
DataSource dataSource;

关于jdbc - Glassfish - 资源注入(inject)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4168376/

相关文章:

java - 奇怪的 DB2 数据库问题 : Websphere Connection Pooling

java - 尝试运行 alter session 命令通过 JDBC 设置 session 变量

asp.net - 扩展现有 ABP Controller

jboss - 为 JBoss 安装 JDK 而不是 Glassfish

java - ORA-12704 : character set mismatch when performing multi-row INSERT of nullable NVARCHAR's

java - 使用 Spring JDBC 获取 SQL 插入后生成的 key

java - 提供与 @Inject 注释一起使用的注入(inject)的最简单方法是什么?

c# - 如何在 .NET Core ConsoleApp 中实例化 ServiceCollection 并使用 IHttpClientFactory?

java - 过滤器 servlet 不适用于 Netbeans 中的 glassfish

java - 独立 Java 客户端的 Payara InitialContext 的环境属性是什么