2014-12-04 118 views
0

我正在爲Glassfish創建一個新的資源適配器。 它使用具有在管理控制檯中設置的屬性的連接池。 連接器連接池 - >其他屬性 - > name = url,value = 127.0.0.1 我想從資源適配器讀取此屬性。 (例如,從我的託管連接實現類)如何從資源適配器讀取連接池設置?

我試着檢查文檔和在線示例,但未找出如何執行此操作。

回答

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(); 
+0

感謝您的回覆。我沒有提到它,但我使用會話bean,而不是一個Web應用程序。問題是如何訪問配置屬性而不是資源適配器。 – Severin 2014-12-09 09:26:34

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()。 起初它不起作用,因爲我設置了連接工廠的屬性而不是資源適配器。

相關問題