Skip navigation links

Oracle Complex Event Processing API Reference
11g Release 1 (11.1.1)

E14303-03
FRAMES    NO FRAMES
DETAIL:  FIELD | CONSTR | METHOD


com.oracle.cep.cluster.ha.adapter
Class QueueTrimmingAdapter

java.lang.Object
  |
  +--com.oracle.cep.cluster.ha.adapter.QueueTrimmingAdapter
Direct Known Subclasses:
BroadcastQueueTrimmingAdapter, BufferingQueueTrimmingAdapter, CorrelatedQueueTrimmingAdapter

public class QueueTrimmingAdapter
extends java.lang.Object
implements StreamSink, StreamSource, GroupMembershipListener, InitializingBean, ActivatableBean, ApplicationIdentityAware, StageIdentityAware, GroupNameAware, HAAdapter

This class implements an HA queue trimming adapter proxy. Missed messages and duplicate messages are possible when failover occurs depending on the trimming strategy that is in effect. This class can be used directly if setTrimmingStrategy(com.oracle.cep.cluster.ha.adapter.QueueTrimmingStrategy) and setQueue(com.oracle.cep.cluster.ha.adapter.TrimmableQueue) are set as properties on the adapter. However, in most cases it is easier to use the pre-defined adapters with these properties already set appropriately.


Inner Class Summary
protected  class QueueTrimmingAdapter.BasicQueueTrimmingProtocol
           
protected  class QueueTrimmingAdapter.IdentityQueueTrimmingProtocol
           
protected  class QueueTrimmingAdapter.MonotonicQueueTrimmingProtocol
           

 

Field Summary
protected  java.lang.String applicationIdentity
           
static int BECOMING_PRIMARY
           
static int BECOMING_SECONDARY
           
protected  BundleContext bundleContext
           
static int INITIALIZING
           
protected  java.lang.Object lock
           
protected  Log log
           
static int PRIMARY
           
protected  TrimmableQueue queue
           
protected  java.util.concurrent.locks.ReentrantLock queueLock
           
static int SECONDARY
           
protected  java.lang.String stageIdentity
           
protected  java.util.concurrent.atomic.AtomicInteger state
           
protected  QueueTrimmingProtocol trimmingProtocol
           
protected  QueueTrimmingStrategy trimmingStrategy
           
protected  java.util.concurrent.atomic.AtomicLong warmUpFinishTime
           
protected  long warmUpWindowMillis
           

 

Constructor Summary
QueueTrimmingAdapter()
           

 

Method Summary
 void activateConfiguration(QueueTrimmingAdapterConfig config)
           
 void afterConfigurationActive()
           
 void afterPropertiesSet()
           
 void checkConfiguration(QueueTrimmingAdapterConfig config)
           
protected  void doInsert(java.lang.Object event)
           
 java.lang.String getApplicationIdentity()
           
 java.lang.String getGroupName()
           
protected  java.io.Serializable getLastReceivedKey()
           
 TrimmableQueue getQueue()
           
 java.lang.String getStageIdentity()
           
 int getState()
           
 QueueTrimmingProtocol getTrimmingProtocol()
           
 long getWarmUpWindowMillis()
           
 boolean isExactTrimming()
           
 boolean isInitializing()
           
 boolean isPrimary()
           
 boolean isSecondary()
           
 void onInsertEvent(java.lang.Object event)
          Either delegate an incoming event or insert it into the queue.
 void onMembershipChange(Server server, Configuration configuration)
           
 void rollbackConfiguration(QueueTrimmingAdapterConfig config)
           
 void setApplicationIdentity(java.lang.String applicationIdentity)
           
 void setBundleContext(BundleContext bundleContext)
           
 void setEventSender(StreamSender sender)
           
 void setExactTrimming(boolean eventTrimming)
           
 void setGroupName(java.lang.String groupName)
           
 void setQueue(TrimmableQueue queue)
          Set the TrimmableQueue for this adapter
 void setStageIdentity(java.lang.String stageIdentity)
           
 void setTrimmingProtocol(QueueTrimmingProtocol trimmingProtocol)
          Set the QueueTrimmingAdapter.BasicQueueTrimmingProtocol to use for trimming the TrimmableQueue
 void setTrimmingStrategy(QueueTrimmingStrategy trimmingStrategy)
          Set the QueueTrimmingStrategy for this adapter.
 void setWarmUpWindowMillis(long warmUpWindowMillis)
           
protected  boolean stateChange(Server server, Configuration configuration)
           

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

INITIALIZING

public static int INITIALIZING

PRIMARY

public static int PRIMARY

BECOMING_SECONDARY

public static int BECOMING_SECONDARY

SECONDARY

public static int SECONDARY

BECOMING_PRIMARY

public static int BECOMING_PRIMARY

state

protected java.util.concurrent.atomic.AtomicInteger state

queue

protected TrimmableQueue queue

trimmingStrategy

protected QueueTrimmingStrategy trimmingStrategy

trimmingProtocol

protected QueueTrimmingProtocol trimmingProtocol

log

protected Log log

stageIdentity

protected java.lang.String stageIdentity

queueLock

protected final java.util.concurrent.locks.ReentrantLock queueLock

lock

protected java.lang.Object lock

applicationIdentity

protected java.lang.String applicationIdentity

warmUpWindowMillis

protected long warmUpWindowMillis

warmUpFinishTime

protected java.util.concurrent.atomic.AtomicLong warmUpFinishTime

bundleContext

protected BundleContext bundleContext

Constructor Detail

QueueTrimmingAdapter

public QueueTrimmingAdapter()

Method Detail

setTrimmingStrategy

public void setTrimmingStrategy(QueueTrimmingStrategy trimmingStrategy)
Set the QueueTrimmingStrategy for this adapter.
Parameters:
trimmingStrategy - Strategy to use for queue trimming

afterPropertiesSet

public void afterPropertiesSet()
Specified by:
afterPropertiesSet in interface InitializingBean

afterConfigurationActive

public void afterConfigurationActive()
                              throws java.lang.Exception
Specified by:
afterConfigurationActive in interface ActivatableBean

setQueue

public void setQueue(TrimmableQueue queue)
Set the TrimmableQueue for this adapter
Parameters:
queue - to use for trimming.

onInsertEvent

public void onInsertEvent(java.lang.Object event)
                   throws EventRejectedException
Either delegate an incoming event or insert it into the queue.
Specified by:
onInsertEvent in interface StreamSink

getLastReceivedKey

protected java.io.Serializable getLastReceivedKey()
Returns:
 

doInsert

protected void doInsert(java.lang.Object event)
                 throws EventRejectedException

onMembershipChange

public void onMembershipChange(Server server,
                               Configuration configuration)
Specified by:
onMembershipChange in interface GroupMembershipListener

stateChange

protected boolean stateChange(Server server,
                              Configuration configuration)

isPrimary

public boolean isPrimary()
Specified by:
isPrimary in interface HAAdapter
Returns:
whether this adapter is the primary or not for queue trimming purposes.

isSecondary

public boolean isSecondary()

isInitializing

public boolean isInitializing()

setApplicationIdentity

public void setApplicationIdentity(java.lang.String applicationIdentity)
Specified by:
setApplicationIdentity in interface ApplicationIdentityAware

setStageIdentity

public void setStageIdentity(java.lang.String stageIdentity)
Specified by:
setStageIdentity in interface StageIdentityAware

getApplicationIdentity

public java.lang.String getApplicationIdentity()

getStageIdentity

public java.lang.String getStageIdentity()

setGroupName

public void setGroupName(java.lang.String groupName)
Specified by:
setGroupName in interface GroupNameAware

getGroupName

public java.lang.String getGroupName()

setEventSender

public void setEventSender(StreamSender sender)
Specified by:
setEventSender in interface StreamSource

getState

public int getState()

getQueue

public TrimmableQueue getQueue()
Returns:
the queue used for trimming

getTrimmingProtocol

public QueueTrimmingProtocol getTrimmingProtocol()
Returns:
the protocol used for trimming.

setTrimmingProtocol

public void setTrimmingProtocol(QueueTrimmingProtocol trimmingProtocol)
Set the QueueTrimmingAdapter.BasicQueueTrimmingProtocol to use for trimming the TrimmableQueue
Parameters:
trimmingProtocol - to use

checkConfiguration

public void checkConfiguration(QueueTrimmingAdapterConfig config)

activateConfiguration

public void activateConfiguration(QueueTrimmingAdapterConfig config)

rollbackConfiguration

public void rollbackConfiguration(QueueTrimmingAdapterConfig config)

getWarmUpWindowMillis

public long getWarmUpWindowMillis()

setWarmUpWindowMillis

public void setWarmUpWindowMillis(long warmUpWindowMillis)

setBundleContext

public void setBundleContext(BundleContext bundleContext)

isExactTrimming

public boolean isExactTrimming()

setExactTrimming

public void setExactTrimming(boolean eventTrimming)

Overview  Package   Class   Use  Tree  Deprecated  Index  Help 
Copyright © 2007, 2010 Oracle and/or its affiliates. All rights reserved.
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD