Class SolaceJcsmpBaseTranslatorImp

java.lang.Object
com.adaptris.core.jcsmp.solace.translator.SolaceJcsmpBaseTranslatorImp
All Implemented Interfaces:
SolaceJcsmpMessageTranslator
Direct Known Subclasses:
SolaceJcsmpBytesMessageTranslator, SolaceJcsmpBytesXmlMessageTranslator, SolaceJcsmpTextMessageTranslator, SolaceJcsmpXmlContentMessageTranslator

public abstract class SolaceJcsmpBaseTranslatorImp extends Object implements SolaceJcsmpMessageTranslator

Once a message has been consumed from Solace, this translator will generate an AdaptrisMessage from the payload and headers of the consumed message.

Reverse translation when producing a message to a Solace end-point will create a Solace XMLMessage again from the payload and metadata of the AdaptrisMessage

The payload mapping is straight forward, but the metadata and header mapping does require a little configuration. In the advanced settings you can specify metadata keys against each Solace message property; when consuming we will copy the value from the Solace message into the specified metadata key and when producing we will source the value for the Solace header from the specified metadata key.

User data is slightly different however, when consuming we will copy all Solace User data into metadata, when producing you will set a metadata filter where we will copy metadata keys and values into the outgoing Solace message User data.

In the adapter configuration file this class is aliased as solace-jcsmp-bytes-message-translator which is the preferred alternative to the fully qualified classname when building your configuration.

  • Constructor Details

    • SolaceJcsmpBaseTranslatorImp

      public SolaceJcsmpBaseTranslatorImp()
  • Method Details

    • translate

      public AdaptrisMessage translate(com.solacesystems.jcsmp.XMLMessage message) throws Exception
      Specified by:
      translate in interface SolaceJcsmpMessageTranslator
      Throws:
      Exception
    • translate

      public com.solacesystems.jcsmp.XMLMessage translate(AdaptrisMessage message) throws Exception
      Specified by:
      translate in interface SolaceJcsmpMessageTranslator
      Throws:
      Exception
    • performPayloadTranslation

      protected abstract com.solacesystems.jcsmp.XMLMessage performPayloadTranslation(AdaptrisMessage source)
    • performPayloadTranslation

      protected abstract void performPayloadTranslation(com.solacesystems.jcsmp.XMLMessage source, AdaptrisMessage destination)
    • metadataFilter

      public MetadataFilter metadataFilter()
    • getMessageFactory

      public AdaptrisMessageFactory getMessageFactory()
      Defaults to the standard DefaultMessageFactory.
    • setMessageFactory

      public void setMessageFactory(AdaptrisMessageFactory messageFactory)
      Defaults to the standard DefaultMessageFactory.
      Parameters:
      messageFactory -
    • getDeliveryMode

      public String getDeliveryMode()
      The mode of delivery; "PERSISTENT / NONPERSISTENT"
    • setDeliveryMode

      public void setDeliveryMode(String deliveryMode)
      The mode of delivery; "PERSISTENT / NONPERSISTENT"
      Parameters:
      deliveryMode -
    • getPerMessageProperties

      public SolaceJcsmpPerMessageProperties getPerMessageProperties()
    • setPerMessageProperties

      public void setPerMessageProperties(SolaceJcsmpPerMessageProperties perMessageProperties)
    • getApplyPerMessagePropertiesOnProduce

      public boolean getApplyPerMessagePropertiesOnProduce()
      Apply per message properties resolution when we produce a JCSMP message.
    • setApplyPerMessagePropertiesOnProduce

      public void setApplyPerMessagePropertiesOnProduce(boolean applyPerMessagePropertiesOnProduce)
      Apply per message properties resolution when we produce a JCSMP message.
    • getApplyPerMessagePropertiesOnConsume

      public boolean getApplyPerMessagePropertiesOnConsume()
      Copy the JCSMP message properties into metadata when we consume a message.
    • setApplyPerMessagePropertiesOnConsume

      public void setApplyPerMessagePropertiesOnConsume(boolean applyPerMessagePropertiesOnConsume)
      Copy the JCSMP message properties into metadata when we consume a message.
    • getTypeMappings

      public List<SolaceJcsmpUserDataTypeMapping> getTypeMappings()
    • setTypeMappings

      public void setTypeMappings(List<SolaceJcsmpUserDataTypeMapping> typeMappings)
    • getMetadataFilter

      public MetadataFilter getMetadataFilter()
    • setMetadataFilter

      public void setMetadataFilter(MetadataFilter metadataFilter)