public class JSParticipant extends Log implements TransactionParticipant, AbortParticipant, XmlConfigurable
     Add a transaction participant like this:
     <participant class="org.jpos.transaction.participant.JSParticipant" logger="Q2" realm="js"
     src='deploy/test.js' />
     test.js may look like this (all functions are optional)
     var K = Java.type("org.jpos.transaction.TransactionConstants");
     var prepare = function(id, ctx) {
       var map = ctx.getMap();
       ctx.log ("Prepare has been called");
       ctx.log (map.TIMESTAMP);
       map.NEWPROPERTY='ABC';
       return K.PREPARED;
     }
     var prepareForAbort = function(id, ctx) {
       ctx.put ("Test", "Test from JS transaction $id");
       ctx.log ("prepareForAbort has been called");
       return K.PREPARED;
     }
     var commit = function(id, ctx) {
       ctx.log ("Commit has been called");
     }
     var abort = function(id, ctx) {
       ctx.log ("Abort has been called");
     }
 | Constructor and Description | 
|---|
JSParticipant()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
abort(long id,
     java.io.Serializable context)
Called by TransactionManager upon transaction commit. 
 | 
void | 
commit(long id,
      java.io.Serializable context)
Called by TransactionManager upon transaction commit. 
 | 
int | 
prepare(long id,
       java.io.Serializable context)
Called by TransactionManager in preparation for a transaction 
 | 
int | 
prepareForAbort(long id,
               java.io.Serializable context)
Called by TransactionManager in preparation for a transaction
 that is known to abort. 
 | 
void | 
setConfiguration(org.jdom2.Element e)  | 
createDebug, createDebug, createError, createError, createFatal, createFatal, createInfo, createInfo, createLogEvent, createLogEvent, createTrace, createTrace, createWarn, createWarn, debug, debug, error, error, fatal, fatal, getLog, getLogger, getRealm, info, info, setLogger, setLogger, setRealm, trace, trace, warn, warnpublic int prepare(long id,
                   java.io.Serializable context)
TransactionParticipantprepare in interface TransactionParticipantid - the Transaction identifiercontext - transaction contextpublic int prepareForAbort(long id,
                           java.io.Serializable context)
AbortParticipantprepareForAbort in interface AbortParticipantid - the Transaction identifiercontext - transaction contextpublic void commit(long id,
                   java.io.Serializable context)
TransactionParticipantcommit in interface TransactionParticipantid - the Transaction identifiercontext - transaction contextpublic void abort(long id,
                  java.io.Serializable context)
TransactionParticipantabort in interface TransactionParticipantid - the Transaction identifiercontext - transaction contextpublic void setConfiguration(org.jdom2.Element e)
                      throws ConfigurationException
setConfiguration in interface XmlConfigurablee - Configuration elementConfigurationException - on error