//throws InterruptedException public void processTransactionMessage(TransactionMessage msg) { String transactionId = Util.Util.generateGUID(); Logger.getInstance().log( "Creating coordinator with tid - " + transactionId + " : " + msg.toString(), LOGGING_NAME, Logger.Level.INFO); // create COORDINATOR Coordinator coor = new CoordinatorImpl(); coordinators[transactionId] = coor; coor.setTransactionId(transactionId); coor.setClientAddress(msg.getSender()); coor.setDatabaseState(DatabaseStateImpl.getInstance()); coor.setConnector(DbConnectorImpl.getInstance()); coor.addEndTransactionListener(this); // give him the message coor.processMessage(msg); }