Package com.sun.messaging.jmq.jmsserver.data

Examples of com.sun.messaging.jmq.jmsserver.data.TransactionList


   
                // XXX - should be notify other brokers we are going down ?

                sm.stopAllActiveServices(true);

                TransactionList tlist = Globals.getTransactionList();
                if (tlist != null) {
                    tlist.destroy();
                }

             // stop JMX connectors
                if (cleanupJMX) {
              Agent agent = Globals.getAgent();
View Full Code Here


                        }
                    }

                    TransactionUID tid = null;
                    TransactionState ts = null, myts = null;
                    TransactionList translist = Globals.getTransactionList();
                    titr = remoteTxn.iterator();
                    while (titr.hasNext()) {
                        tid = (TransactionUID) titr.next();
                        try {
                            ts = Globals.getStore().getTransactionState(tid);
                        } catch (Exception e) {
                            logger.log(logger.WARNING,
                            "Unable to get transaction state "+tid+
                            " for takenover broker "+tracker.getBrokerID());
                            continue;
                        }
                        if (ts == null) continue;
                        try {
                            if (ts.getState() < TransactionState.PREPARED &&
                                translist.retrieveState(tid) != null) { // auto-rollback type
                                if (!translist.isClusterTransactionBroker(tid,
                                    tracker.getStoreSessionUID())) {
                                    continue;
                                }
                                myts = translist.retrieveState(tid);
                                if (myts == null) continue;
                                myts = new TransactionState(myts);
                                translist.updateState(tid,
                                  myts.nextState(PacketType.ROLLBACK_TRANSACTION, null),
                                  myts.getState(), true);
                                logger.log(logger.INFO,
                                "Remote transaction "+tid+"("+
                                 TransactionState.toString(ts.getState())+
View Full Code Here

        ConnectionManager cmgr = new ConnectionManager(
        license.getIntProperty(LicenseBase.PROP_CLIENT_CONNLIMIT, -1));
        Globals.setConnectionManager(cmgr);


        tlist = new TransactionList(store);
        Globals.setTransactionList(tlist);

        // get the persisted data
        try {
            Destination.init();
View Full Code Here

                }

                //for client < 4.1, need check 'redeliver' as well
                if (redeliver && (tid != null || s.isTransacted())) {
                    if (tid == null) tid = s.getCurrentTransactionID();
                    TransactionList translist = Globals.getTransactionList();
                    HashMap cmap = translist.retrieveRemovedConsumedMessages(tid);
                    if (cmap != null && cmap.size() > 0) {
                        List interests = (List) cmap.get(sysid);
                        if (interests != null && interests.size() > 0) {
                            boolean found = false;
                            for (int j = 0; j < interests.size(); j++) {
                                ConsumerUID intid = (ConsumerUID)interests.get(j);
                                if (intid.equals(id)) {
                                    TransactionState ts = translist.retrieveState(tid);
                                    if (ts != null && ts.getState() == TransactionState.FAILED) {
                                        found = true;
                                        break;
                                    }
                                }
View Full Code Here

    }

    private Hashtable getTransactionInfo(TransactionUID uid)
        throws Exception
    {
        TransactionList tl = Globals.getTransactionList();
        Hashtable ht = null;
        if (uid == null) {
            ht = tl.getDebugState();
        } else {
            ht = tl.getDebugState(uid);
        }
        return ht;
    }
View Full Code Here

        List conlist = (List)getClientData(TRANSACTION_LIST);
        if (conlist != null) {
            boolean xaretainall = Globals.getConfig().getBooleanProperty(
                    TransactionList.XA_TXN_DETACHED_RETAINALL_PROP, false);
            ArrayList timeoutTIDs = new ArrayList();
            TransactionList tl = Globals.getTransactionList();
            TransactionUID tid = null;
            boolean xaretainallLogged = false;
            TransactionHandler rollbackHandler = (TransactionHandler)
                                   Globals.getPacketRouter(0).getHandler(
                                          PacketType.ROLLBACK_TRANSACTION);
            TransactionUID[] tuids = (TransactionUID[])conlist.toArray(new TransactionUID[0]);
            for (int i = 0; i < tuids.length; i ++) {
                tid = (TransactionUID) tuids[i];
                TransactionState ts = Globals.getTransactionList().retrieveState(tid);
                if (ts == null) {
                    // nothing to do if no transaction state
                    continue;
                }
                int tstate = ts.getState();
                if (ts.getXid() != null) {
                    if (xaretainall) {
                        if (!xaretainallLogged) {
                        logger.log(Logger.INFO, Globals.getBrokerResources().getKString(
                                   BrokerResources.I_CONN_CLEANUP_RETAIN_XA));
                        xaretainallLogged = true;
                        }
                        continue;
                    }
                    if(tstate > TransactionState.COMPLETE) {
                       String[] args = { ""+tid+"(XID="+ts.getXid()+")",
                                         TransactionState.toString(tstate),
                                         getConnectionUID().toString() };
                        logger.log(Logger.INFO, Globals.getBrokerResources().getKString(
                                          BrokerResources.I_CONN_CLEANUP_KEEP_TXN, args));
                        continue;
                    }
                    if (tstate == TransactionState.INCOMPLETE ||
                        tstate == TransactionState.COMPLETE ) {
                        ts.detachedFromConnection();
                        timeoutTIDs.add(tid);
                        String[] args = { ""+tid+"(XID="+ts.getXid()+")",
                                          TransactionState.toString(tstate),
                                          getConnectionUID().toString() };
                        logger.log(Logger.INFO, Globals.getBrokerResources().getKString(
                                          BrokerResources.I_CONN_CLEANUP_KEEP_TXN, args));
                        continue;
                    }
                }
                if (tstate == TransactionState.PREPARED ||
                    tstate == TransactionState.COMMITTED ||
                    tstate == TransactionState.ROLLEDBACK) {
                    String[] args = { ""+tid,
                                      TransactionState.toString(tstate),
                                      getConnectionUID().toString() };
                    logger.log(Logger.INFO, Globals.getBrokerResources().getKString(
                               BrokerResources.I_CONN_CLEANUP_KEEP_TXN, args));
                    continue;
                }
                if (DEBUG || DEBUG_TXN) {
                    logger.log(Logger.INFO, "Cleanup connection ["+getConnectionUID()+
                    "]: cleaning up transaction "+tid+"["+TransactionState.toString(tstate)+"]");
                }
                try {
                     rollbackHandler.doRollback(tid, ts.getXid(), null, ts, conlist,
                                   null, RollbackReason.CONNECTION_CLEANUP);
                } catch (Exception e) {
                     String[] args = { ""+tid+"["+TransactionState.toString(tstate)+"]",
                                       getConnectionUID().toString(), e.getMessage() };
                     logger.logStack(logger.WARNING,
                            Globals.getBrokerResources().getString(
                            BrokerResources.W_CONN_CLEANUP_ROLLBACK_TRAN_FAIL, args), e);
               }
           }
           Iterator itr = timeoutTIDs.iterator();
           while (itr.hasNext()) {
               tid = (TransactionUID)itr.next();
               tl.addDetachedTransactionID(tid);
           }
           timeoutTIDs.clear();
           tuids = null;
           conlist.clear();
       }
View Full Code Here

  }
    }

    public static String[] getTransactionIDs()  {
  TransactionList tl = Globals.getTransactionList();
  Vector transactions = tl.getTransactions(-1);
  String ids[];

  if ((transactions == null) || (transactions.size() == 0))  {
      return (null);
  }
View Full Code Here

  return (cd);
    }

    public static String getClientID(TransactionUID tid)  {
  TransactionList tl = Globals.getTransactionList();
  TransactionState ts;

  if (tl == null)  {
      return (null);
  }

  ts = tl.retrieveState(tid);

  if (ts == null)  {
      return (null);
  }
View Full Code Here

    public TransactionManagerMonitor()  {
  super();
    }

    public Integer getNumTransactions()  {
  TransactionList tl = Globals.getTransactionList();
  Vector transactions = tl.getTransactions(-1);

  return (new Integer(transactions.size()));
    }
View Full Code Here

  return (ts.getClientID());
    }

    public static String getConnectionString(TransactionUID tid)  {
  TransactionList tl = Globals.getTransactionList();
  TransactionState ts;

  if (tl == null)  {
      return (null);
  }

  ts = tl.retrieveState(tid);

  if (ts == null)  {
      return (null);
  }
View Full Code Here

TOP

Related Classes of com.sun.messaging.jmq.jmsserver.data.TransactionList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.