public interface AdministeredObjectListener
Classes that implement this interface are stating that they can receive change notifications from the broker. Notifications are sent whenever objects for which the listener is registered is modified, deleted, or whenever a previously submitted request is processed.
The AdministeredObjectListener interface is a powerful way of ensuring that IBM Integration API (CMP) applications work with up-to-date information and that any requests that these applications make to modify broker objects are processed successfully. The real benefits of using this interface come from the asynchronous and multi-user design of the broker:
In order to receive notifications, applications must first register an instance of a class that implements this interface with each administered object for which they wish to receive notifications. Here is an example of how to do this:
BrokerConnectionParameters bcp = MQBrokerConnectionParameters("localhost", 1414, "QMGR"); BrokerProxy b = BrokerProxy.getInstance(bcp); AdministeredObjectListener l = new MyAdministeredObjectListener(); b.registerListener(l);
...where MyAdministeredObjectListener is a class that implements the AdministeredObjectListener interface, written by the application developer.
AdministeredObjectListener notifications occur on a dedicated Java thread.
interface
com.ibm.broker.config.proxy.AdministeredObjectListener
|
|
Responsibilities | States that the implementing class is able to receive notifications from brokers via the IBM Integration API (CMP). |
Internal Collaborators |
com.ibm.broker.config.proxy.CompletionCodeType
com.ibm.broker.config.proxy.AdministeredObject |
Change Activity: ---------- ----------- ------------- ------------------------------- Reason: Date: Originator: Comments: ---------- ----------- ------------- ------------------------------- 25103.1 2004-03-29 HDMPL v6 Release 44739.7 2007-07-30 HDMPL v6.1 release: Methods now take genericized types where relevant 51619.8 2008-12-15 HDMPL v7 Release: The changedAttributes parameter on processModify() can now include deleted properties.
Modifier and Type | Method and Description |
---|---|
void |
processActionResponse(AdministeredObject affectedObject,
CompletionCodeType ccType,
java.util.List<LogEntry> bipMessages,
java.util.Properties referenceProperties)
States that the broker has processed a request
that previously originated from the current connection to it.
|
void |
processDelete(AdministeredObject deletedObject)
States that the supplied AdministeredObject
has been deleted on the broker.
|
void |
processModify(AdministeredObject affectedObject,
java.util.List<java.lang.String> changedAttributes,
java.util.List<java.lang.String> newChildren,
java.util.List<java.lang.String> removedChildren)
States that the supplied AdministeredObject
has been modified by the current or another application.
|
void processModify(AdministeredObject affectedObject, java.util.List<java.lang.String> changedAttributes, java.util.List<java.lang.String> newChildren, java.util.List<java.lang.String> removedChildren)
affectedObject
- The object which has changed. The
attributes of the object will already have been updated
to contain the new information.changedAttributes
- An unmodifiable list of Strings
containing the attribute key names that have changed.
See the AttributeConstants documentation for a
list of valid key names. As of WebSphere Message Broker V7,
this list can also include deleted properties; calling
getProperty() on such a property will return null.newChildren
- An unmodifiable list of Strings containing
the object's subcomponents that were added by the latest
change. To avoid the needless creation of expensive
AdministeredObject instances, each entry is a String
that describes one AdministeredObject. The String can
be converted into an AdministeredObject instance using
the affectedObject.getManagedSubcomponentFromStringRepresentation(String)
method.removedChildren
- An unmodifiable list of Strings containing
the object's subcomponents that were removed by the latest
change. To avoid the needless creation of expensive
AdministeredObject instances, each entry is a String
that describes one AdministeredObject. The String can
be converted into an AdministeredObject instance using
the affectedObject.getManagedSubcomponentFromStringRepresentation(String)
method.void processDelete(AdministeredObject deletedObject)
deletedObject
- The AdministeredObject that has been
deleted.void processActionResponse(AdministeredObject affectedObject, CompletionCodeType ccType, java.util.List<LogEntry> bipMessages, java.util.Properties referenceProperties)
affectedObject
- The object on which a command was
attempted.ccType
- The overall completion code of the actionbipMessages
- The unmodifiable list of
LogEntry instances that contains
any localized BIP Messages associated with the action.referenceProperties
- Properties of the request that
caused this notification. See the AttributeConstants
documentation for information regarding the set of properties that
may be supplied here.