1 24 package org.objectweb.jalisto.se.jca.session; 25 26 import org.objectweb.jalisto.se.api.JalistoProperties; 27 import org.objectweb.jalisto.se.api.Transaction; 28 import org.objectweb.jalisto.se.impl.multi.SessionMultiImpl; 29 import org.objectweb.jalisto.se.impl.trace.Trace; 30 import org.objectweb.jalisto.se.JalistoFactory; 31 32 import javax.transaction.xa.Xid ; 33 34 public class ManagedSessionMultiImpl extends SessionMultiImpl implements ManagedSession { 35 36 public ManagedSessionMultiImpl(JalistoProperties prop) { 37 super(prop); 38 } 39 40 public Xid getCurrentXid() { 41 return currentXid; 42 } 43 44 protected Transaction createTransaction() { 45 return new ManagedTransactionImpl(this, trace); 46 } 47 48 49 public synchronized void open() { 50 trace("open"); 51 isClosed = false; 52 } 53 54 public synchronized void close() { 55 trace("close"); 56 isClosed = true; 57 } 58 59 60 public void startTransaction(Xid xid) { 61 currentXid = xid; 62 this.open(); 63 } 64 65 public void finishTransaction() { 66 currentXid = null; 67 } 68 69 70 private void trace(Object message) { 71 if (trace == null) { 72 trace = JalistoFactory.getInternalFactory().getTracer(props); 73 } 74 if (trace != null) { 75 trace.println(Trace.JCA, TRACE_ID + " " + message); 76 } 77 } 78 79 80 private Xid currentXid; 81 private boolean isClosed = true; 82 83 private static final String TRACE_ID = "[ManagedJalistoSession]"; 84 } 85 | Popular Tags |