Class AsyncAuditLogReceiver

  • All Implemented Interfaces:
    javax.jms.MessageListener, AuditLoggerArchiveTreat
    Direct Known Subclasses:
    AuditJMSProcessor, AuditJMSProcessor

    public class AsyncAuditLogReceiver
    extends Object
    implements javax.jms.MessageListener, AuditLoggerArchiveTreat
    Asynchronous audit event receiver. Receives messages from JMS queue that it is attached to as MessageListener. This is the second part of asynchronous BAM support backed by JMS (producer is provide by AsyncAuditLogProducer class). Thus it shares the same message format that is TextMessage with Xstream serialized *Log classes (ProcessInstanceLog, NodeInstanceLog, VaraiableInstanceLog) as content. by default it uses entity manager factory and creates entity manager for each message although it provides getEntityManager method that can be overloaded by extensions to supply entity managers instead of creating it for every message. For more enterprise based solution this class can be extended by MDB implementations to provide additional details that are required by MDB such as:
    • annotations - @MessageDriven, @ActivationConfigurationProperty
    • dependency injection - inject entity manager factory or entity manager by annotating methods
    • Constructor Detail

      • AsyncAuditLogReceiver

        public AsyncAuditLogReceiver​(javax.persistence.EntityManagerFactory entityManagerFactory)
    • Method Detail

      • onMessage

        public void onMessage​(javax.jms.Message message)
        Specified by:
        onMessage in interface javax.jms.MessageListener
      • getEntityManagerFactory

        public javax.persistence.EntityManagerFactory getEntityManagerFactory()
      • setEntityManagerFactory

        public void setEntityManagerFactory​(javax.persistence.EntityManagerFactory entityManagerFactory)
      • getEntityManager

        public javax.persistence.EntityManager getEntityManager()