举例说明glassfish中 ManagedResource ManagedObject
时间: 2023-09-06 11:07:45 浏览: 48
在 GlassFish 应用服务器中,ManagedResource 和 ManagedObject 都是管理资源的机制。下面我将以 JDBC 连接池为例,来举例说明 ManagedResource 和 ManagedObject 的使用。
在 GlassFish 中,JDBC 连接池是一种资源,可以通过 ManagedResource 和 ManagedObject 来进行管理。在这个例子中,JDBC 连接池是 ManagedResource,而数据源是 ManagedObject。
具体来说,一个 JDBC 连接池可以有多个数据源,每个数据源都有一个名称、一个连接 URL、一个用户名、一个密码等属性。在 GlassFish 中,这些属性可以通过 ManagedObject 进行管理。
例如,我们可以通过以下命令在 GlassFish 中创建一个名为 myPool 的 JDBC 连接池:
```
asadmin create-jdbc-connection-pool --restype javax.sql.DataSource --datasourceclassname com.mysql.jdbc.jdbc2.optional.MysqlDataSource --property user=root:password=123456:url=jdbc:mysql://localhost:3306/test myPool
```
在这个命令中,我们指定了连接池的资源类型、数据源类名、属性等信息。其中,--property 参数指定了数据源的属性,这些属性将作为 ManagedObject 进行管理。
一旦创建了 JDBC 连接池,我们就可以使用 JMX 来管理其中的数据源。例如,我们可以使用 JConsole 连接到 GlassFish 中的 MBean 服务器,然后找到 myPool 的 MBean,从而访问其中的 ManagedObject。
在 JConsole 中,我们可以找到 myPool 的 MBean,然后展开它,可以看到其中包含了多个 ManagedObject,每个 ManagedObject 都代表一个数据源。我们可以通过这些 ManagedObject 来查看和修改数据源的属性,例如修改用户名和密码等。
总之,ManagedResource 和 ManagedObject 是 GlassFish 中管理资源的两个不同层次,ManagedResource 是更高层次的资源管理机制,而 ManagedObject 是 ManagedResource 的一部分,用于实现具体的属性管理。在 GlassFish 中,JDBC 连接池就是一个很好的例子,演示了 ManagedResource 和 ManagedObject 的使用方法。