Package org.copperengine.core.audit
Class AbstractAuditTrail
- java.lang.Object
-
- org.copperengine.core.audit.AbstractAuditTrail
-
- All Implemented Interfaces:
AuditTrail
,org.copperengine.management.AuditTrailMXBean
- Direct Known Subclasses:
BatchingAuditTrail
public abstract class AbstractAuditTrail extends java.lang.Object implements AuditTrail, org.copperengine.management.AuditTrailMXBean
Fast db based audit trail implementation. It is possible to extend the COPPER audit trail with custom attributes. See JUnitTestBatchingAuditTrailTest.testCustomTable()
for an example.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractAuditTrail.Property2ColumnMapping
-
Field Summary
Fields Modifier and Type Field Description protected MessagePostProcessor
messagePostProcessor
-
Constructor Summary
Constructors Constructor Description AbstractAuditTrail()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BatchInsertIntoAutoTrail.Command
createBatchCommand(AuditTrailEvent e, boolean immediate, CommandCallback<BatchInsertIntoAutoTrail.Command> callback)
static java.util.List<AbstractAuditTrail.Property2ColumnMapping>
createDefaultMapping()
protected javax.sql.DataSource
getDataSource()
java.lang.String
getDbTable()
int
getLevel()
java.lang.String
getSqlStmt()
boolean
isEnabled(int level)
void
setAdditionalMapping(java.util.List<AbstractAuditTrail.Property2ColumnMapping> mapping)
void
setAuditTrailEventClass(java.lang.Class<?> auditTrailEventClass)
void
setDataSource(javax.sql.DataSource dataSource)
void
setDbTable(java.lang.String dbTable)
void
setLevel(int level)
void
setMapping(java.util.List<AbstractAuditTrail.Property2ColumnMapping> mapping)
void
setMessagePostProcessor(MessagePostProcessor messagePostProcessor)
void
startup()
void
synchLog(int logLevel, java.util.Date occurrence, java.lang.String conversationId, java.lang.String context, java.lang.String instanceId, java.lang.String correlationId, java.lang.String transactionId, java.lang.String _message, java.lang.String messageType)
writes an event to the audit trail log and returns after the log message is written to the underlying storage.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.copperengine.core.audit.AuditTrail
synchLog
-
-
-
-
Field Detail
-
messagePostProcessor
protected MessagePostProcessor messagePostProcessor
-
-
Method Detail
-
createDefaultMapping
public static java.util.List<AbstractAuditTrail.Property2ColumnMapping> createDefaultMapping()
-
setMessagePostProcessor
public void setMessagePostProcessor(MessagePostProcessor messagePostProcessor)
-
setDataSource
public void setDataSource(javax.sql.DataSource dataSource)
-
setLevel
public void setLevel(int level)
- Specified by:
setLevel
in interfaceAuditTrail
- Specified by:
setLevel
in interfaceorg.copperengine.management.AuditTrailMXBean
-
setAuditTrailEventClass
public void setAuditTrailEventClass(java.lang.Class<?> auditTrailEventClass)
-
setDbTable
public void setDbTable(java.lang.String dbTable)
-
getDbTable
public java.lang.String getDbTable()
-
setMapping
public void setMapping(java.util.List<AbstractAuditTrail.Property2ColumnMapping> mapping)
-
setAdditionalMapping
public void setAdditionalMapping(java.util.List<AbstractAuditTrail.Property2ColumnMapping> mapping)
-
startup
public void startup() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getSqlStmt
public java.lang.String getSqlStmt()
-
getLevel
public int getLevel()
- Specified by:
getLevel
in interfaceAuditTrail
- Specified by:
getLevel
in interfaceorg.copperengine.management.AuditTrailMXBean
-
isEnabled
public boolean isEnabled(int level)
- Specified by:
isEnabled
in interfaceAuditTrail
-
synchLog
public void synchLog(int logLevel, java.util.Date occurrence, java.lang.String conversationId, java.lang.String context, java.lang.String instanceId, java.lang.String correlationId, java.lang.String transactionId, java.lang.String _message, java.lang.String messageType)
Description copied from interface:AuditTrail
writes an event to the audit trail log and returns after the log message is written to the underlying storage.- Specified by:
synchLog
in interfaceAuditTrail
- Parameters:
logLevel
- the level on that the audit trail event is recorded (might be used for filtering)occurrence
- timestamp of the audit trail eventconversationId
- conversation id embraces all audit trail events for one business process (might be the same for a whole business transaction over a range of involved systems)context
- the context of the audit trail event (e.g. a camel route, a workflow task, ...)instanceId
- workflow id for a single workflowcorrelationId
- correlates a request response pair (e.g. workflow calls another workflow, workflow calls a camel route, ...)transactionId
- Same ID vor several conversations, that belongs to the same transaction. Example: ExecuteOrder (conversation 1), ChangeOrder (conversation 2) and CancelOrder (conversation 3) that all belongs to transaction 77. When transaction 77 can be deleted, all conversations for this transaction can be deleted._message
- a message describing the audit trail eventmessageType
- type of the message, e.g. XML, used for message rendering in the COPPER monitor
-
createBatchCommand
public BatchInsertIntoAutoTrail.Command createBatchCommand(AuditTrailEvent e, boolean immediate, CommandCallback<BatchInsertIntoAutoTrail.Command> callback)
-
getDataSource
protected javax.sql.DataSource getDataSource()
-
-