org.jacorb.events
Class ProxyPullConsumerImpl
public
class
ProxyPullConsumerImpl
extends ProxyPullConsumerPOA
implements Runnable
Implementation of COSEventChannelAdmin interface; ProxyPullConsumer.
This defines connect_pull_supplier() and disconnect_pull_consumer().
2002/23/08 JFC OMG EventService Specification 1.1 page 2-7 states:
"Registration is a two step process. An event-generating application
first obtains a proxy consumer from a channel, then 'connects' to the
proxy consumer by providing it with a supplier. ... The reason for
the two step registration process..."
Modifications to support the above have been made as well as to support
section 2.1.5 "Disconnection Behavior" on page 2-4.
Author: Jeff Carlson Joerg v. Frantzius Rainer Lischetzki Gerald Brose
$Id: ProxyPullConsumerImpl.java,v 1.10 2004/05/06 12:39:58 nicolas Exp $
Method Summary |
void | connect_pull_supplier(PullSupplier pullSupplier)
ProxyPullConsumer Interface:
As stated by the EventService specification 1.1 section 2.3.6:
"If a ProxyPullSupplier is already connected to a PullConsumer,
then the AlreadyConnected exception is raised."
and
"Implementations shall raise the CORBA standard BAD_PARAM exception if
a nil object reference is passed to the connect_pull_supplier operation.
and
"An implementation of a ProxyPullConsumer may put additional
requirements on the interface supported by the pull supplier. |
void | disconnect_pull_consumer()
See EventService v 1.1 specification section 2.1.4.
|
void | run()
Start being a good PullConsumer and ask for loads of events. |
POA | _default_POA()
Override this method from the Servant baseclass. |
Constructor - gets called by the EventChannel
public void connect_pull_supplier(PullSupplier pullSupplier)
ProxyPullConsumer Interface:
As stated by the EventService specification 1.1 section 2.3.6:
"If a ProxyPullSupplier is already connected to a PullConsumer,
then the AlreadyConnected exception is raised."
and
"Implementations shall raise the CORBA standard BAD_PARAM exception if
a nil object reference is passed to the connect_pull_supplier operation.
and
"An implementation of a ProxyPullConsumer may put additional
requirements on the interface supported by the pull supplier. If t he pull
supplier does not meet those requirements, the ProxyPullConsumer
raises the TypeError exception. (See section 2.5.2 on page 2-15
for an example)"
public void disconnect_pull_consumer()
See EventService v 1.1 specification section 2.1.4.
'disconnect_pull_consumer terminates the event communication; it releases
resources used at the consumer to support event communication. Calling
this causes the implementation to call disconnect_pull_supplier operation
on the corresponding PullSupplier interface (if that iterface is known).'
See EventService v 1.1 specification section 2.1.5. This method should
adhere to the spec as it a) causes a call to the corresponding disconnect
on the connected supplier, b) 'If a consumer or supplier has received a
disconnect call and subsequently receives another disconnect call, it
shall raise a CORBA::OBJECT_NOT_EXIST exception.
public void run()
Start being a good PullConsumer and ask for loads of events.
public POA _default_POA()
Override this method from the Servant baseclass. Fintan Bolton
in his book "Pure CORBA" suggests that you override this method to
avoid the risk that a servant object (like this one) could be
activated by the wrong POA object.