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 listenerstatic 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
-
-
-
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 supportedJMS - 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 toproperties
- - 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
- 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 notconnFactory
- connection factory instancequeue
- JMS queue instance- Returns:
- new instance of JMS audit logger
-
-