org.robokind.impl.messaging.lifecycle
Class JMSAvroAsyncReceiverLifecycle<Msg,Rec extends org.apache.avro.generic.IndexedRecord>

java.lang.Object
  extended by org.robokind.api.common.property.PropertyChangeNotifier
      extended by org.robokind.api.common.lifecycle.AbstractLifecycleProvider<MessageAsyncReceiver,DefaultMessageAsyncReceiver<Msg,Rec>>
          extended by org.robokind.impl.messaging.lifecycle.JMSAvroAsyncReceiverLifecycle<Msg,Rec>
All Implemented Interfaces:
ServiceLifecycleProvider<MessageAsyncReceiver>, PropertyChangeSource

public class JMSAvroAsyncReceiverLifecycle<Msg,Rec extends org.apache.avro.generic.IndexedRecord>
extends AbstractLifecycleProvider<MessageAsyncReceiver,DefaultMessageAsyncReceiver<Msg,Rec>>

Author:
Matthew Stevenson

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.robokind.api.common.lifecycle.ServiceLifecycleProvider
ServiceLifecycleProvider.Validator
 
Field Summary
 
Fields inherited from class org.robokind.api.common.lifecycle.AbstractLifecycleProvider
myRegistrationProperties, myService, myServiceClassNames
 
Fields inherited from interface org.robokind.api.common.lifecycle.ServiceLifecycleProvider
PROP_DEPENDENCY_ADDED, PROP_DEPENDENCY_REMOVED
 
Constructor Summary
JMSAvroAsyncReceiverLifecycle(org.jflux.api.core.util.Adapter<Rec,Msg> adapter, Class<Msg> messageClass, Class<Rec> recordClass, org.apache.avro.Schema recordSchema, String receiverId, String connectionId, String destinationId)
          Asynchronously receives Avro Records over JMS and adapts them to a Message.
 
Method Summary
protected  DefaultMessageAsyncReceiver<Msg,Rec> create(Map<String,Object> dependencies)
           
 Class<MessageAsyncReceiver> getServiceClass()
           
protected  void handleChange(String dependencyId, Object service, Map<String,Object> dependencies)
           
 
Methods inherited from class org.robokind.api.common.lifecycle.AbstractLifecycleProvider
addRuntimeDependency, dependencyChanged, getDependencyDescriptors, getRegistrationProperties, getService, getServiceClassNames, isSatisfied, removeRuntimeDependency, start, stop
 
Methods inherited from class org.robokind.api.common.property.PropertyChangeNotifier
addPropertyChangeListener, addPropertyChangeListener, clearAllListeners, clearListeners, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, hasListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.robokind.api.common.property.PropertyChangeSource
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

JMSAvroAsyncReceiverLifecycle

public JMSAvroAsyncReceiverLifecycle(org.jflux.api.core.util.Adapter<Rec,Msg> adapter,
                                     Class<Msg> messageClass,
                                     Class<Rec> recordClass,
                                     org.apache.avro.Schema recordSchema,
                                     String receiverId,
                                     String connectionId,
                                     String destinationId)
Asynchronously receives Avro Records over JMS and adapts them to a Message.

Parameters:
adapter - adapts Records to Messages
messageClass - class of the Message being received
recordClass - class of the Record being received and adapted
recordSchema - record avro schema
receiverId - id to use for this message receiver
connectionId - id of the Connection dependency
destinationId - id of the destination dependency
Method Detail

create

protected DefaultMessageAsyncReceiver<Msg,Rec> create(Map<String,Object> dependencies)
Specified by:
create in class AbstractLifecycleProvider<MessageAsyncReceiver,DefaultMessageAsyncReceiver<Msg,Rec extends org.apache.avro.generic.IndexedRecord>>

handleChange

protected void handleChange(String dependencyId,
                            Object service,
                            Map<String,Object> dependencies)
Specified by:
handleChange in class AbstractLifecycleProvider<MessageAsyncReceiver,DefaultMessageAsyncReceiver<Msg,Rec extends org.apache.avro.generic.IndexedRecord>>

getServiceClass

public Class<MessageAsyncReceiver> getServiceClass()
Specified by:
getServiceClass in class AbstractLifecycleProvider<MessageAsyncReceiver,DefaultMessageAsyncReceiver<Msg,Rec extends org.apache.avro.generic.IndexedRecord>>


Copyright © 2011-2012. All Rights Reserved.