VisiBroker for Java

org.omg.CosNotifyChannelAdmin
Interface ProxyPullConsumerOperations

All Superinterfaces:
FilterAdminOperations, NotifyPublishOperations, ProxyConsumerOperations, PullConsumerOperations, QoSAdminOperations
All Known Subinterfaces:
ProxyPullConsumer

public interface ProxyPullConsumerOperations
extends ProxyConsumerOperations, PullConsumerOperations

The ProxyPullConsumer interface supports connections to the channel by suppliers, who will make events available for pulling to the channel as untyped Anys. Through inheritance of the ProxyConsumer interface, the ProxyPullConsumer interface supports administration of various QoS properties, administration of a list of associated filter objects, and a readonly attribute containing the reference of the SupplierAdmin object that created it. In addition, this inheritance implies that a ProxyPullConsumer instance supports an operation that will return the list of event types that consumers connected to the same channel are interested in receiving, and an operation that can return information about the instance?s ability to accept a per-event QoS request.

The ProxyPullConsumer interface also inherits from the PullConsumer interface defined within the CosEventComm module of the OMG Event Service. This interface supports the operation required to disconnect the ProxyPullConsumer from its associated supplier. In addition, since the inherited PullConsumer interface inherits the CosNotifyComm::NotifyPublish interface, a supplier connected to an instance supporting the ProxyPullConsumer interface can inform it whenever the list of event types the supplier plans to supply changes.

Finally, the ProxyPullConsumer interface defines the operation which can be invoked by a pull supplier to establish the connection over which the pull supplier will send events to the channel. Note that this can be either a pure event service style, or a notification service style pull supplier. The ProxyPullConsumer interface also defines a pair of operations that can suspend and resume the connection between a ProxyPullConsumer instance and its associated PullSupplier. During the time such a connection is suspended, the ProxyPullConsumer will not attempt to pull events from its associated PullSupplier.


Method Summary
 void connect_any_pull_supplier(PullSupplier pull_supplier)
          This operation is invoked in order to establish a connection between a pull-style supplier of events in the form of Anys, and the notification channel.
 void resume_connection()
          The resume_connection operation causes the target object supporting the ProxyPullConsumer interface to resume attempting to pull events (using pull or try_pull) from the PullSupplier instance connected to it.
 void suspend_connection()
          The suspend_connection operation causes the target object supporting the ProxyPullConsumer interface to stop attempting to pull events (using pull or try_pull) from the PullSupplier instance connected to it.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxyConsumerOperations
MyAdmin, MyType, obtain_subscription_types, validate_event_qos
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
Methods inherited from interface org.omg.CosNotifyFilter.FilterAdminOperations
add_filter, get_all_filters, get_filter, remove_all_filters, remove_filter
 
Methods inherited from interface org.omg.CosNotifyComm.NotifyPublishOperations
offer_change
 
Methods inherited from interface org.omg.CosEventComm.PullConsumerOperations
disconnect_pull_consumer
 

Method Detail

resume_connection

void resume_connection()
                       throws ConnectionAlreadyActive,
                              NotConnected
The resume_connection operation causes the target object supporting the ProxyPullConsumer interface to resume attempting to pull events (using pull or try_pull) from the PullSupplier instance connected to it. This operation takes no input parameters and returns no values.

Throws:
ConnectionAlreadyActive - If the connection has not been previously suspended using this operation by invoking suspend_connection.
NotConnected - If no PullSupplier has been connected to the target object when this operation is invoked.

suspend_connection

void suspend_connection()
                        throws ConnectionAlreadyInactive,
                               NotConnected
The suspend_connection operation causes the target object supporting the ProxyPullConsumer interface to stop attempting to pull events (using pull or try_pull) from the PullSupplier instance connected to it. This operation takes no input parameters and returns no values.

Throws:
ConnectionAlreadyInactive - If the connection has been previously suspended using this operation and not resumed by invoking resume_connection.
NotConnected - If no PullSupplier has been connected to the target object when this operation is invoked.

connect_any_pull_supplier

void connect_any_pull_supplier(PullSupplier pull_supplier)
                               throws AlreadyConnected,
                                      TypeError
This operation is invoked in order to establish a connection between a pull-style supplier of events in the form of Anys, and the notification channel. Once established, the channel can proceed to receive events from the supplier by invoking the pull or try_pull operations supported by the supplier (whether the channel will invoke pull or try_pull, and the frequency with which it will perform such invocations, is a detail which is specific to the implementation of the channel).

Note that because the PullSupplier interface defined in the CosNotifyComm module inherits from the PullSupplier interface defined in the CosEventComm module, the input parameter to this operation could be either a pure event service style, or a notification service style pull supplier. The only difference between the two is that the latter also supports the NotifySubscribe interface, and thus can be the target of subscription_change invocations. The implementation of the ProxyPullConsumer interface should attempt to narrow the input parameter to CosNotifyComm::PullSupplier in order to determine which style of pull supplier is connecting to it.

Parameters:
pull_supplier - The reference to an object supporting the PullSupplier interface defined within the CosEventComm module. This reference is that of a supplier which plans to make events available for pulling to the channel with which the target object is associated in the form of untyped Anys.
Throws:
AlreadyConnected - If the target object of this operation is already connected to a pull supplier object, the AlreadyConnected exception will be raised.
TypeError - If the pull supplier being connected does not meet additional requirements, which may be imposed by this implementation on the interface supported by a pull supplier (e.g., it may be designed to invoke some operation other than pull or try_pull in order to receive events).

Borland Software Corporation
http://www.borland.com
100 Enterprise Way
Scotts Valley, CA 95066
Voice: (831) 431-1000
pubsweb@borland.com

Read the latest documentation online