如何从资源适配器读取连接池设置?

时间:2014-12-04 10:28:42

标签: java java-ee glassfish connection-pooling jca

我正在为Glassfish开发一个新的资源适配器。 它使用具有在管理控制台中设置的属性的连接池。 连接器连接池 - >附加属性 - > name = url,value = 127.0.0.1 我想从资源适配器读取此属性。 (例如,来自我的托管连接实现类)

我尝试检查文档和在线示例,但没有找到如何操作。

2 个答案:

答案 0 :(得分:0)

这是几乎所有带有连接池的j2ee容器上的Web应用程序的常用方法。

    InitialContext ctx = new InitialContext();
    //The JDBC Data source that we just created
    DataSource ds = (DataSource) ctx.lookup("url here");
    Connection connection = ds.getConnection();

答案 1 :(得分:0)

@Connector(reauthenticationSupport = false, transactionSupport = TransactionSupport.TransactionSupportLevel.NoTransaction)
public class SocketResourceAdapter implements ResourceAdapter {

/** The logger */
private static Logger log = Logger.getLogger("SocketResourceAdapter");

/** Name property */
@ConfigProperty(defaultValue = "DefaultMessage", supportsDynamicUpdates = true)
private String name;

@ConfigProperty(defaultValue = "---", type = String.class)
private String url;

@ConfigProperty(type = Integer.class)
private Integer port;


public String getUrl() {
    return url;
}
public void setUrl(String url) {
    this.url = url;
}

public Integer getPort() {
    return port;
}
public void setPort(Integer port) {
    this.port = port;
}

然后我可以在资源适配器中使用getUrl()。 起初它不起作用,因为我正在为连接工厂而不是资源适配器设置属性。