gpt4 book ai didi

java - 用于访问 Liberty 中的数据源连接管理器 MBean 的通用对象名称

转载 作者:行者123 更新时间:2023-12-02 03:07:02 25 4
gpt4 key购买 nike

我正在尝试使用java客户端访问DataSource ConnectionManager MBean。当我在对象名称中指定数据源名称和JNDI名称时,我可以访问它。我需要一种通用方法,可以适用于server.xml中的任何数据源,因为这是作为可在任何应用程序中使用的框架的一部分完成的。

我尝试了多种选项,但始终遇到“javax.management.InstanceNotFoundException”。

示例代码如下:

<library id="oracle-lib">
<fileset dir="lib" includes="ojdbc6.jar"/>
</library>

<dataSource jndiName="jdbc/db" id="oracleDB" type="javax.sql.DataSource">
<jdbcDriver javax.sql.DataSource="oracle.jdbc.pool.OracleConnectionPoolDataSource" libraryRef="oracle-lib" />
<connectionManager agedTimeout="10" maxIdleTime="1800" connectionTimeout="180" minPoolSize="10" maxPoolSize="1" reapTime="180"/>
<properties.oracle user="user" password="password"
url="jdbc:oracle:thin:@//db-server:1521/db"/>
</dataSource>

有效的对象名称:

ObjectName jvmQuery = new ObjectName("WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,jndiName=jdbc/db,name=dataSource[oracleDB]/ConnectionManager[default-0]")

我尝试过的通用对象名称:

1.WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,*
2.WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,name=dataSource[default-0]/ConnectionManager[default-0],*
3.WebSphere:service=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,*
4.WebSphere:service=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,name=dataSource[default-0]/ConnectionManager[default-0],*
5.WebSphere:service=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,name=dataSource[default-0]/ConnectionManager[default-0]

请您指点一下..

谢谢你,碧珠

最佳答案

查询选项 #1 应该可以正常工作:

WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,*

我刚刚使用配置中的多个数据源对其进行了测试,并得到了以下结果:

Found MBean: WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,jndiName=jdbc/ds1,name=dataSource[ds1]/connectionManager
Found MBean: WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,jndiName=jdbc/ds2,name=dataSource[ds2]/connectionManager
Found MBean: WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,jndiName=jdbc/ds3,name=dataSource[ds3]/connectionManager[default-0]
Found MBean: WebSphere:type=com.ibm.ws.jca.cm.mbean.ConnectionManagerMBean,jndiName=jdbc/XAds,name=dataSource[XAds]/connectionManager

请记住,连接管理器 MBean 是延迟创建的。如果您希望在查询中找到 mbean,请确保您之前已从数据源获得连接。从数据源获取连接将强制创建连接管理器(及其 MBean)。

关于java - 用于访问 Liberty 中的数据源连接管理器 MBean 的通用对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41583746/

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