The ListerMBean interface provides a general mechanism for returning lists.
Derived MBeans extend this interface to add methods that access the data of the current object in the list. This is different from the iterator model (where the next method returns the next object in the list) because creating MBeans for each object returned in a list (for example, one MBean per user) is too expensive. In addition, it is not appropriate to return non-MBean or non-primitive types from an MBean.
The general iteration pattern is as follows:
FooListerMBean fooLister = ...;
String cursor = lister.listFoo(...);
try {
while (fooLister.haveCurrent(cursor)) {
Foo currentVal = fooLister.getCurrentFoo(cursor);
fooLister.advance(cursor);
}
} finally { fooLister.close(cursor);
If you use the getMBeanInfo
operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name:
weblogic.management.utils.ListerMBean
No factory methods. Instances of this MBean are created automatically.
The following MBeans extend or implement this MBean type:
This section describes the following operations:
Advances the list to the next element in the list.
Operation Name | "advance" |
Parameters | Object [] {
cursor }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
void
|
weblogic.management.utils.InvalidCursorException
Indicates that the caller is finished using the list, and that the resources held on behalf of the list may be released. If the caller traverses through all the elements in the list, the caller need not call this method. In other words, it is used to let the caller close the list without reading each element that is returned.
Operation Name | "close" |
Parameters | Object [] {
cursor }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
void
|
weblogic.management.utils.InvalidCursorException
Returns true if there are more objects in the list, and false otherwise.
Operation Name | "haveCurrent" |
Parameters | Object [] {
cursor }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
boolean
|
weblogic.management.utils.InvalidCursorException
Operation Name | "wls_getDisplayName" |
Parameters | null |
Signature | null |
Returns | String
|