org.jacorb.notification.servant
Class AbstractProxySupplier
java.lang.Object
org.jacorb.notification.servant.AbstractProxy
org.jacorb.notification.servant.AbstractProxySupplier
- All Implemented Interfaces:
- AbstractProxyMBean, AbstractProxySupplierMBean, java.lang.Comparable, org.apache.avalon.framework.configuration.Configurable, Disposable, org.picocontainer.Disposable, FilterAdminOperations, FilterStage, FilterStageSource, IServantLifecyle, JMXManageable, MessageConsumer, NotifyingDisposable, NotifySubscribeOperations, QoSAdminOperations
- Direct Known Subclasses:
- AbstractProxyPushSupplier, ProxyPullSupplierImpl, SequenceProxyPullSupplierImpl, StructuredProxyPullSupplierImpl, TypedProxyPullSupplierImpl
- public abstract class AbstractProxySupplier
- extends AbstractProxy
- implements MessageConsumer, NotifySubscribeOperations, AbstractProxySupplierMBean
Abstract base class for ProxySuppliers. This class provides base functionality
for the different ProxySuppliers:
- queue management,
- error threshold settings.
- Version:
- $Id: AbstractProxySupplier.java,v 1.30 2006/03/03 19:56:11 alphonse.bendt Exp $
- Author:
- Alphonse Bendt
Methods inherited from class org.jacorb.notification.servant.AbstractProxy |
activate, add_filter, checkDestroyStatus, checkIsConnected, checkIsNotConnected, checkStillConnected, configure, connectionResumed, connectionSuspended, deactivate, destroy, disconnectClient, get_all_filters, get_filter, get_qos, getClientIOR, getConnected, getErrorCounter, getFilters, getID, getInterFilterGroupOperator, getJMXNotificationTypes, getJMXObjectName, getLifetimeFilter, getMBeanName, getMBeanType, getORB, getPOA, getPriorityFilter, getStatus, getTaskProcessor, handleDisconnected, hasInterFilterGroupOperatorOR, hasLifetimeFilter, hasPriorityFilter, incErrorCounter, isDestroyed, isIDPublic, isSuspended, lifetime_filter, lifetime_filter, MyType, priority_filter, priority_filter, registerDisposable, remove_all_filters, remove_filter, resetErrorCounter, resume_connection, sendNotification, sendNotification, set_qos, setJMXCallback, suspend_connection, validate_event_qos, validate_qos |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractProxySupplier
protected AbstractProxySupplier(IAdmin admin,
ORB orb,
POA poa,
org.apache.avalon.framework.configuration.Configuration conf,
TaskProcessor taskProcessor,
OfferManager offerManager,
SubscriptionManager subscriptionManager,
ConsumerAdmin consumerAdmin)
throws org.apache.avalon.framework.configuration.ConfigurationException
getMessageQueueFactory
protected EventQueueFactory getMessageQueueFactory()
getPendingMessagesCount
public int getPendingMessagesCount()
- Specified by:
getPendingMessagesCount
in interface AbstractProxySupplierMBean
getOrderPolicy
public final java.lang.String getOrderPolicy()
- Specified by:
getOrderPolicy
in interface AbstractProxySupplierMBean
getDiscardPolicy
public final java.lang.String getDiscardPolicy()
- Specified by:
getDiscardPolicy
in interface AbstractProxySupplierMBean
getMaxEventsPerConsumer
public final int getMaxEventsPerConsumer()
- Specified by:
getMaxEventsPerConsumer
in interface AbstractProxySupplierMBean
setMaxEventsPerConsumer
public void setMaxEventsPerConsumer(int max)
- Specified by:
setMaxEventsPerConsumer
in interface AbstractProxySupplierMBean
getNumberOfDiscardedMessages
public int getNumberOfDiscardedMessages()
- Specified by:
getNumberOfDiscardedMessages
in interface AbstractProxySupplierMBean
hasPendingData
public boolean hasPendingData()
enqueue
protected void enqueue(Message message)
- put a copy of the Message in the queue of pending Messages.
- Parameters:
message
- the Message
to queue.
getMessageBlocking
public Message getMessageBlocking()
throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
getMessageNoBlock
protected Message getMessageNoBlock()
getAllMessages
protected Message[] getAllMessages()
queueMessage
public void queueMessage(Message message)
- Description copied from interface:
MessageConsumer
- Deliver a Message to the associated Consumer.
- Specified by:
queueMessage
in interface MessageConsumer
messageQueued
protected void messageQueued()
- this is an extension point.
getUpToMessages
protected Message[] getUpToMessages(int max)
- Parameters:
max
- maximum number of messages
- Returns:
- an array containing at most max Messages
getAtLeastMessages
protected Message[] getAtLeastMessages(int min)
- Parameters:
min
- minimum number of messages
- Returns:
- an array containing the requested number of Messages or null
getErrorThreshold
public int getErrorThreshold()
dispose
public final void dispose()
- Specified by:
dispose
in interface org.picocontainer.Disposable
- Overrides:
dispose
in class AbstractProxy
MyAdmin
public final ConsumerAdmin MyAdmin()
subscription_change
public final void subscription_change(EventType[] added,
EventType[] removed)
throws InvalidEventType
- Specified by:
subscription_change
in interface NotifySubscribeOperations
- Throws:
InvalidEventType
obtain_offered_types
public final EventType[] obtain_offered_types(ObtainInfoMode obtainInfoMode)
removeListener
protected void removeListener()
- Specified by:
removeListener
in class AbstractProxy
clientDisconnected
protected final void clientDisconnected()
- Specified by:
clientDisconnected
in class AbstractProxy
connectClient
public void connectClient(Object client)
- Overrides:
connectClient
in class AbstractProxy
isRetryAllowed
public boolean isRetryAllowed()
getCost
protected abstract long getCost()
compareTo
public int compareTo(java.lang.Object o)
- Specified by:
compareTo
in interface java.lang.Comparable
hasMessageConsumer
public final boolean hasMessageConsumer()
- Description copied from interface:
FilterStage
- check if this FilterStage has a MessageConsumer associcated.
- Specified by:
hasMessageConsumer
in interface FilterStage
getSubsequentFilterStages
public final java.util.List getSubsequentFilterStages()
- Specified by:
getSubsequentFilterStages
in interface FilterStageSource
getMessageConsumer
public final MessageConsumer getMessageConsumer()
- Description copied from interface:
FilterStage
- get the associated MessageConsumer or null.
- Specified by:
getMessageConsumer
in interface FilterStage
clearPendingMessageQueue
public void clearPendingMessageQueue()
- Specified by:
clearPendingMessageQueue
in interface AbstractProxySupplierMBean