Class AuditLoggerFactory


  • public class AuditLoggerFactory
    extends Object
    Factory for producing support audit loggers. Currently two types are available:
    • JPA - synchronous logger that is bound to the engine transaction and persists audit events as part of runtime engine transaction
    • JMS - asynchronous logger that can be configured to place messages on the queue either with respect to active transaction (only after transaction is committed) or place them directly as they are generated
    • Constructor Detail

      • AuditLoggerFactory

        public AuditLoggerFactory()
    • Method Detail

      • newInstance

        public static AbstractAuditLogger newInstance​(AuditLoggerFactory.Type type,
                                                      org.kie.api.runtime.KieSession ksession,
                                                      Map<String,​Object> properties)
        Creates new instance of audit logger based on given type and parameters and registers it directly in given ksession to receive its events. Depending on the types several properties are supported: JPA No properties are supported JMS
        • jbpm.audit.jms.transacted - determines if JMS session is transacted or not - default true - type Boolean
        • jbpm.audit.jms.connection.factory - connection factory instance - type javax.jms.ConnectionFactory
        • jbpm.audit.jms.queue - JMS queue instance - type javax.jms.Queue
        • jbpm.audit.jms.connection.factory.jndi - JNDI name of the connection factory to look up - type String
        • jbpm.audit.jms.queue.jndi - JNDI name of the queue to look up - type String
        Parameters:
        type - - type of the AuditLoger to create (JPA or JMS)
        ksession - - ksession that the logger will be attached to
        properties - - optional properties for the type of logger to initialize it
        Returns:
        new instance of AbstractAuditLogger
      • newJPAInstance

        public static AbstractAuditLogger newJPAInstance()
        Creates new instance of JPA audit logger NOTE: this will build the logger but it is not registered directly on a session: once received, it will need to be registered as an event listener
        Returns:
        new instance of JPA audit logger
      • newJPAInstance

        public static AbstractAuditLogger newJPAInstance​(org.kie.api.runtime.Environment env)
        Creates new instance of JPA audit logger with given Environment NOTE: this will build the logger but it is not registered directly on a session: once received, it will need to be registered as an event listener
        Parameters:
        env - Environment instance to be used
        Returns:
        new instance of JPA audit logger
      • newJMSInstance

        public static AbstractAuditLogger newJMSInstance​(Map<String,​Object> properties)
        Creates new instance of JMS audit logger based on given parameters. Supported parameters are as follows:
        • jbpm.audit.jms.transacted - determines if JMS session is transacted or not - default true - type Boolean
        • jbpm.audit.jms.connection.factory - connection factory instance - type javax.jms.ConnectionFactory
        • jbpm.audit.jms.queue - JMS queue instance - type javax.jms.Queue
        • jbpm.audit.jms.connection.factory.jndi - JNDI name of the connection factory to look up - type String
        • jbpm.audit.jms.queue.jndi - JNDI name of the queue to look up - type String
        NOTE: this will build the logger but it is not registered directly on a session: once received, it will need to be registered as an event listener
        Parameters:
        properties - - optional properties for the type of logger to initialize it
        Returns:
        new instance of JMS audit logger
      • newJMSInstance

        public static AbstractAuditLogger newJMSInstance​(boolean transacted,
                                                         javax.jms.ConnectionFactory connFactory,
                                                         javax.jms.Queue queue)
        Creates new instance of JMS audit logger based on given connection factory and queue. NOTE: this will build the logger but it is not registered directly on a session: once received, it will need to be registered as an event listener
        Parameters:
        transacted - determines if JMS session is transacted or not
        connFactory - connection factory instance
        queue - JMS queue instance
        Returns:
        new instance of JMS audit logger