org.jacorb.notification.servant
Class AbstractProxyPushSupplier

java.lang.Object
  extended byorg.jacorb.notification.servant.AbstractProxy
      extended byorg.jacorb.notification.servant.AbstractProxySupplier
          extended byorg.jacorb.notification.servant.AbstractProxyPushSupplier
All Implemented Interfaces:
AbstractProxyMBean, AbstractProxySupplierMBean, java.lang.Comparable, org.apache.avalon.framework.configuration.Configurable, Disposable, org.picocontainer.Disposable, FilterAdminOperations, FilterStage, FilterStageSource, IProxyPushSupplier, IServantLifecyle, JMXManageable, MessageConsumer, NotifyingDisposable, NotifySubscribeOperations, QoSAdminOperations
Direct Known Subclasses:
ProxyPushSupplierImpl, SequenceProxyPushSupplierImpl, StructuredProxyPushSupplierImpl, TypedProxyPushSupplierImpl

public abstract class AbstractProxyPushSupplier
extends AbstractProxySupplier
implements IProxyPushSupplier

Version:
$Id: AbstractProxyPushSupplier.java,v 1.8 2006/03/07 19:23:47 alphonse.bendt Exp $
Author:
Alphonse Bendt

Nested Class Summary
 
Nested classes inherited from class org.jacorb.notification.interfaces.JMXManageable
JMXManageable.JMXCallback
 
Field Summary
protected  edu.emory.mathcs.backport.java.util.concurrent.Semaphore pushSync_
          number of concurrent push operations allowed.
 
Fields inherited from class org.jacorb.notification.servant.AbstractProxy
config_, eventTypes_, logger_, offerManager_, qosSettings_, subscriptionManager_
 
Constructor Summary
AbstractProxyPushSupplier(IAdmin admin, ORB orb, POA poa, org.apache.avalon.framework.configuration.Configuration conf, TaskProcessor taskProcessor, PushTaskExecutorFactory pushTaskExecutorFactory, OfferManager offerManager, SubscriptionManager subscriptionManager, ConsumerAdmin consumerAdmin)
           
 
Method Summary
 void disableDelivery()
          Disable Deliveries. no remote operations may be used to deliver a message. messages are enqueued instead.
 void flushPendingEvents()
           
 int getAveragePushDuration()
           
 int getPushErrorCount()
           
 int getPushOperationCount()
           
 java.lang.String getRetryStrategy()
           
protected  void handleFailedPushOperation(PushOperation operation, java.lang.Exception error)
           
protected  boolean isEnabled()
           
 void messageQueued()
          this is an extension point.
protected abstract  boolean pushEvent()
           
 void resetErrorCounter()
          reset the error count to zero.
 void scheduleFlush()
           
 void schedulePush()
           
 void scheduleTask(PushTaskExecutor.PushTask pushTask)
          schedule a pushTask for execution using this Objects executor.
 void setRetryStrategy(java.lang.String factoryName)
           
 
Methods inherited from class org.jacorb.notification.servant.AbstractProxySupplier
clearPendingMessageQueue, clientDisconnected, compareTo, connectClient, dispose, enqueue, getAllMessages, getAtLeastMessages, getCost, getDiscardPolicy, getErrorThreshold, getMaxEventsPerConsumer, getMessageBlocking, getMessageConsumer, getMessageNoBlock, getMessageQueueFactory, getNumberOfDiscardedMessages, getOrderPolicy, getPendingMessagesCount, getSubsequentFilterStages, getUpToMessages, hasMessageConsumer, hasPendingData, isRetryAllowed, MyAdmin, obtain_offered_types, queueMessage, removeListener, setMaxEventsPerConsumer, subscription_change
 
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, 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
 
Methods inherited from interface org.jacorb.notification.interfaces.IProxyPushSupplier
incErrorCounter, isRetryAllowed
 
Methods inherited from interface org.jacorb.notification.interfaces.MessageConsumer
destroy, isDestroyed, queueMessage
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface org.jacorb.notification.interfaces.NotifyingDisposable
registerDisposable
 
Methods inherited from interface org.picocontainer.Disposable
dispose
 
Methods inherited from interface org.jacorb.notification.servant.AbstractProxyMBean
destroy, getClientIOR, getConnected, getErrorCounter, getInterFilterGroupOperator, getStatus
 
Methods inherited from interface org.jacorb.notification.lifecycle.IServantLifecyle
newServant
 

Field Detail

pushSync_

protected final edu.emory.mathcs.backport.java.util.concurrent.Semaphore pushSync_
number of concurrent push operations allowed.

Constructor Detail

AbstractProxyPushSupplier

public AbstractProxyPushSupplier(IAdmin admin,
                                 ORB orb,
                                 POA poa,
                                 org.apache.avalon.framework.configuration.Configuration conf,
                                 TaskProcessor taskProcessor,
                                 PushTaskExecutorFactory pushTaskExecutorFactory,
                                 OfferManager offerManager,
                                 SubscriptionManager subscriptionManager,
                                 ConsumerAdmin consumerAdmin)
                          throws org.apache.avalon.framework.configuration.ConfigurationException
Method Detail

pushEvent

protected abstract boolean pushEvent()

handleFailedPushOperation

protected void handleFailedPushOperation(PushOperation operation,
                                         java.lang.Exception error)

setRetryStrategy

public void setRetryStrategy(java.lang.String factoryName)
                      throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

getRetryStrategy

public java.lang.String getRetryStrategy()

schedulePush

public final void schedulePush()

scheduleFlush

public void scheduleFlush()
Specified by:
scheduleFlush in interface IProxyPushSupplier

scheduleTask

public final void scheduleTask(PushTaskExecutor.PushTask pushTask)
Description copied from interface: IProxyPushSupplier
schedule a pushTask for execution using this Objects executor.

Specified by:
scheduleTask in interface IProxyPushSupplier

flushPendingEvents

public void flushPendingEvents()

messageQueued

public final void messageQueued()
Description copied from class: AbstractProxySupplier
this is an extension point.

Overrides:
messageQueued in class AbstractProxySupplier

resetErrorCounter

public void resetErrorCounter()
Description copied from interface: IProxyPushSupplier
reset the error count to zero.

Specified by:
resetErrorCounter in interface IProxyPushSupplier
Overrides:
resetErrorCounter in class AbstractProxy

disableDelivery

public void disableDelivery()
Description copied from interface: IProxyPushSupplier
Disable Deliveries. no remote operations may be used to deliver a message. messages are enqueued instead.

Specified by:
disableDelivery in interface IProxyPushSupplier

isEnabled

protected boolean isEnabled()

getPushOperationCount

public int getPushOperationCount()

getPushErrorCount

public int getPushErrorCount()

getAveragePushDuration

public int getAveragePushDuration()