Interface ITransactionalStorage<S extends Serializable>

All Superinterfaces:
IMessageBrowser<S>, INamedObject, IXAEnabled
All Known Implementing Classes:
DummyTransactionalStorage, JdbcTransactionalStorage, JmsTransactionalStorage, MessageStoreSender

@FrankDocGroup(TRANSACTIONAL_STORAGE) public interface ITransactionalStorage<S extends Serializable> extends IMessageBrowser<S>, INamedObject
Marks an implementation as responsible for storing and retrieving-back messages under transaction control.
Since:
4.1
Author:
Gerrit van Brakel
See Also:
  • Field Details

  • Method Details

    • start

      void start() throws Exception
      Prepares the object for operation. After this method is called the storeMessage() and retrieveMessage() methods may be called
      Throws:
      Exception
    • stop

      void stop()
    • configure

      void configure() throws ConfigurationException
      Throws:
      ConfigurationException
    • storeMessage

      String storeMessage(String messageId, String correlationId, Date receivedDate, String comments, String label, S message) throws SenderException
      Store the message, returns storageKey. The messageId should be unique.
      Throws:
      SenderException
    • getMessage

      RawMessageWrapper<S> getMessage(String storageKey) throws ListenerException
      Retrieves and deletes the message.
      Throws:
      ListenerException
    • setSlotId

      void setSlotId(String string)
      Optional identifier for this storage, to be able to share the physical storage between a number of receivers and pipes.
    • getSlotId

      String getSlotId()
    • setType

      void setType(String string)
      Possible values are E (error store), M (message store), L (message log for Pipe) or A (message log for Receiver).
      Receiver will always set type to E for errorStorage and always set type to A for messageLog. SenderPipe will set type to L for messageLog (when type isn't specified).
      See MessageStoreSender for type M.
      Default value
      E for errorStorage on Receiver
      A for messageLog on Receiver
      L for messageLog on Pipe
    • getType

      String getType()