To list the currently available persisting resources, use the following rhino-console command or related MBean query.
Console command: listpersistingresources
Command |
listpersistingresources Description List all configured persisting resources |
---|---|
Example |
$ ./rhino-console listpersistingresources type variant name ----------------- ---------- ---------- poolmaintenance cassandra kvstore cassandra cassandra sessionownership cassandra 3 rows |
MBean query
Determining which persisting resources are available does not involve invoking any MBean operation, but instead is achieved by querying the MBean server to determine which MBeans are registered.
Each persisting resource registers a Persisting Resource MBean
with the MBean server to advertise its presence and provide access to the database tables it manages.
These MBeans are registered using a base Object Name
along with a number of additional key properties that define the persisting resource’s type, variant, and optional name.
The example code below can be used to determine which persisting resources are available.
import java.util.Set; import javax.management.ObjectName; import com.opencloud.rhino.resource.PersistingResourceMBean; ... MBeanServer mbeanServer = ... ObjectName resourceMBeanNameQuery = new ObjectName(PersistingResourceMBean.BASE_OBJECT_NAME + ",*"); Set<ObjectName> resourceMBeanNames = mbeanServer.queryNames(resourceMBeanNameQuery, null); for (ObjectName resourceMBeanName : resourceMBeanNames) { String resourceType = resourceMBeanName.getKeyProperty(PersistingResourceMBean.RESOURCE_TYPE_KEY); String resourceVariant = resourceMBeanName.getKeyProperty(PersistingResourceMBean.RESOURCE_VARIANT_KEY); String resourceName = resourceMBeanName.getKeyProperty(PersistingResourceMBean.RESOURCE_NAME_KEY); if (resourceName != null) resourceName = ObjectName.unquote(resourceName); // do something with resourceType, resourceVariant, and resourceName }