Package org.jbpm.process.audit

## Class AuditLoggerFactory

- java.lang.Object
- - org.jbpm.process.audit.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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `AuditLoggerFactory.Type` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AuditLoggerFactory()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.
    `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.
    `static AbstractAuditLogger` | `newJMSInstance​(Map<String,​Object> properties)` | Creates new instance of JMS audit logger based on given parameters.
    `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
    `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

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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