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<org.robokind.api.messaging.MessageAsyncReceiver,org.robokind.api.messaging.DefaultMessageAsyncReceiver<Msg,Rec>>
          extended by org.robokind.impl.messaging.lifecycle.JMSAvroAsyncReceiverLifecycle<Msg,Rec>
All Implemented Interfaces:
org.robokind.api.common.lifecycle.ServiceLifecycleProvider<org.robokind.api.messaging.MessageAsyncReceiver>, org.robokind.api.common.property.PropertyChangeSource

public class JMSAvroAsyncReceiverLifecycle<Msg,Rec extends org.apache.avro.generic.IndexedRecord>
extends org.robokind.api.common.lifecycle.AbstractLifecycleProvider<org.robokind.api.messaging.MessageAsyncReceiver,org.robokind.api.messaging.DefaultMessageAsyncReceiver<Msg,Rec>>

Author:
Matthew Stevenson

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.robokind.api.common.lifecycle.ServiceLifecycleProvider
org.robokind.api.common.lifecycle.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.Adapter<Rec,Msg> adapter, Class<Msg> messageClass, Class<Rec> recordClass, org.apache.avro.Schema recordSchema, String receiverId, String sessionId, String destinationId)
          Asynchronously receives Avro Records over JMS and adapts them to a Message.
 
Method Summary
protected  org.robokind.api.messaging.DefaultMessageAsyncReceiver<Msg,Rec> create(Map<String,Object> dependencies)
           
 Class<org.robokind.api.messaging.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.Adapter<Rec,Msg> adapter,
                                     Class<Msg> messageClass,
                                     Class<Rec> recordClass,
                                     org.apache.avro.Schema recordSchema,
                                     String receiverId,
                                     String sessionId,
                                     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
sessionId - id of the Connection dependency
destinationId - id of the destination dependency
Method Detail

create

protected org.robokind.api.messaging.DefaultMessageAsyncReceiver<Msg,Rec> create(Map<String,Object> dependencies)
Specified by:
create in class org.robokind.api.common.lifecycle.AbstractLifecycleProvider<org.robokind.api.messaging.MessageAsyncReceiver,org.robokind.api.messaging.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 org.robokind.api.common.lifecycle.AbstractLifecycleProvider<org.robokind.api.messaging.MessageAsyncReceiver,org.robokind.api.messaging.DefaultMessageAsyncReceiver<Msg,Rec extends org.apache.avro.generic.IndexedRecord>>

getServiceClass

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


Copyright © 2011-2013. All Rights Reserved.