Package com.sun.messaging.jmq.admin.bkrutil

Examples of com.sun.messaging.jmq.admin.bkrutil.BrokerAdmin


        return (0);
    }

    private int runTakeover(BrokerCmdProperties brokerCmdProps) {
        BrokerAdmin   broker;
  String    input = null;
  String    yes, yesShort, no, noShort;

  yes = ar.getString(ar.Q_RESPONSE_YES);
  yesShort = ar.getString(ar.Q_RESPONSE_YES_SHORT);
  no = ar.getString(ar.Q_RESPONSE_NO);
  noShort = ar.getString(ar.Q_RESPONSE_NO_SHORT);
 
        broker = init();

        boolean force = brokerCmdProps.forceModeSet();

  // Check for the target argument
  String commandArg = brokerCmdProps.getCommandArg();

  if (CMDARG_BROKER.equals(commandArg)) {
            String brokerID = brokerCmdProps.getTargetName();

            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_FAIL));
                return (1);
            }

            if (!force)
                broker = promptForAuthentication(broker);

            Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR));

            Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_BKR_PERFORMING_TAKEOVER));

            printBrokerInfo(broker);

      try {
    connectToBroker(broker);

            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_FAIL));
                return (1);
            }

      try {
    /*
     * Get broker props to find out if broker is in HA cluster and
     * broker cluster ID
     */
                broker.sendGetBrokerPropsMessage();
                Properties bkrProps = broker.receiveGetBrokerPropsReplyMessage();

    /*
     * Check if cluster is HA or not
     */
    String value = bkrProps.getProperty(PROP_NAME_BKR_CLS_HA);
          if (!Boolean.valueOf(value).booleanValue())  {
                    Globals.stdErrPrintln(ar.getString(ar.E_BROKER_NOT_HA));
                    Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_FAIL));
                    return (1);
    }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_QUERY_BKR_FAIL));
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_FAIL));
                return (1);
            }

            Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_BKR_STORE_TAKEOVER));

      BrokerCmdPrinter bcp = new BrokerCmdPrinter(5, 3, "-");
      String[] row = new String[5];

      bcp.setSortNeeded(false);
      bcp.setTitleAlign(BrokerCmdPrinter.CENTER);

      int i = 0;
      row[i++] = "";
      row[i++] = "";
      row[i++] = "";
      row[i++] = "";
      row[i++] = ar.getString(ar.I_JMQCMD_CLS_TIME_SINCE_TIMESTAMP1);

      bcp.addTitle(row);
 
      i = 0;
      row[i++] = ar.getString(ar.I_JMQCMD_CLS_BROKER_ID);
      row[i++] = ar.getString(ar.I_JMQCMD_CLS_ADDRESS);
      row[i++] = ar.getString(ar.I_JMQCMD_CLS_BROKER_STATE);
      row[i++] = ar.getString(ar.I_JMQCMD_CLS_NUM_MSGS);
      row[i++] = ar.getString(ar.I_JMQCMD_CLS_TIME_SINCE_TIMESTAMP2);

      bcp.addTitle(row);

      /*
       * Get state of each broker in cluster
       */
      Vector bkrList = null;
            try  {
                broker.sendGetClusterMessage(true);
          bkrList = broker.receiveGetClusterReplyMessage();
            } catch (BrokerAdminException bae)  {
          handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.E_FAILED_TO_OBTAIN_CLUSTER_INFO));
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_FAIL));
                return (1);
            }

      String brokerIDFromList = null;
      boolean found = false;

            Enumeration thisEnum = bkrList.elements();
            while (thisEnum.hasMoreElements()) {
                Hashtable bkrClsInfo = (Hashtable)thisEnum.nextElement();
                Long tmpLong;
                Integer tmpInt;
                long idle;

    brokerIDFromList = (String)bkrClsInfo.get(BrokerClusterInfo.ID);

    if ((brokerIDFromList == null) ||
        (!brokerIDFromList.equals(brokerID)))  {
        continue;
    }

                found = true;

                i = 0;

                row[i++] = checkNullAndPrint(brokerIDFromList);

                row[i++] = checkNullAndPrint(
        bkrClsInfo.get(BrokerClusterInfo.ADDRESS));

                tmpInt = (Integer)bkrClsInfo.get(BrokerClusterInfo.STATE);
                if (tmpInt != null)  {
                    row[i++] = BrokerState.toString(tmpInt.intValue());
                } else  {
                    row[i++] = "";
                }

                tmpLong = (Long)bkrClsInfo.get(BrokerClusterInfo.NUM_MSGS);
                row[i++] = checkNullAndPrint(tmpLong);

                tmpLong = (Long)bkrClsInfo.get(
                            BrokerClusterInfo.STATUS_TIMESTAMP);
                if (tmpLong != null)  {
                    idle = System.currentTimeMillis() - tmpLong.longValue();
                    row[i++] = CommonCmdRunnerUtil.getTimeString(idle);
                } else  {
                    row[i++] = "";
                }

                bcp.add(row);

                /*
                 * Only need to display info on the one desired broker
                 */
                break;
            }

      if (!found)  {
                Globals.stdErrPrintln(ar.getString(ar.E_CANNOT_FIND_BROKERID, brokerID));
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_FAIL));
                return (1);
      }

      bcp.println();


            if (!force) {
                input = CommonCmdRunnerUtil.getUserInput(ar.getString(ar.Q_TAKEOVER_BKR_OK), noShort);
                Globals.stdOutPrintln("");
            }

            if (yesShort.equalsIgnoreCase(input) || yes.equalsIgnoreCase(input) || force) {
                try  {
                    broker.sendTakeoverMessage(brokerID);
              broker.receiveTakeoverReplyMessage();
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_SUC));

                } catch (BrokerAdminException bae)  {
        handleBrokerAdminException(bae);

                    Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_FAIL));
                    return (1);
                }

            } else if (noShort.equalsIgnoreCase(input) || no.equalsIgnoreCase(input)) {
                Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_NOOP));
                return (0);

            } else {
                Globals.stdOutPrintln(ar.getString(ar.I_UNRECOGNIZED_RES, input));
                Globals.stdOutPrintln("");
                Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_TAKEOVER_BKR_NOOP));
                return (1);
            }

  }

        broker.close();

        return (0);
    }
View Full Code Here


    }



    private int runExists(BrokerCmdProperties brokerCmdProps) {
        BrokerAdmin broker;
        int retValue = 1;

        broker = init();

        // Check for the target argument.
        // Valid value is dst only.
        String commandArg = brokerCmdProps.getCommandArg();

        if (CMDARG_DESTINATION.equals(commandArg)) {

            if (broker == null)  {
    Globals.stdOutPrintln("Problems connecting to the broker.");
    return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            String destName = brokerCmdProps.getTargetName();
            int destTypeMask = getDestTypeMask(brokerCmdProps);

            try {
                connectToBroker(broker);

                broker.sendGetDestinationsMessage(destName, destTypeMask);
                Vector dest = broker.receiveGetDestinationsReplyMessage();

                if ((dest != null) && (dest.size() == 1)) {
        Globals.stdOutPrintln(Boolean.TRUE.toString());
        retValue = 0;
View Full Code Here

    | ActionManager.PURGE | ActionManager.PAUSE | ActionManager.RESUME);
    }


    public int getActiveActions()  {
  BrokerAdmin ba = getBrokerAdmin();
  int mask;

        // REVISIT: for now, no operation is allowed if we are not connected.
        // This should be taken out, as we should disallow selecting a dest
        // when it is not connected.
  if (!ba.isConnected())
      mask = 0;
  else
      if (destInfo.destState == DestState.RUNNING)  {
          mask = ActionManager.DELETE | ActionManager.PROPERTIES
         | ActionManager.PURGE | ActionManager.REFRESH
View Full Code Here

    /*
     * END INTERFACE AdminEventListener
     */

    private int runList(BrokerCmdProperties brokerCmdProps) {
        BrokerAdmin broker;

        broker = init();

  // Check for the target argument
  String commandArg = brokerCmdProps.getCommandArg(),
    destTypeStr = brokerCmdProps.getDestType();
  int destTypeMask = getDestTypeMask(brokerCmdProps);
  boolean listAll = (destTypeStr == null);

  if (CMDARG_DESTINATION.equals(commandArg)) {

            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DST_FAIL));
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
      if (!force)
          broker = promptForAuthentication(broker);

      if (listAll)  {
          Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_DST));
      } else if (DestType.isQueue(destTypeMask))  {
          Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_QUEUE_DST));
      } else if (DestType.isTopic(destTypeMask))  {
          Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_TOPIC_DST));
      }
      printBrokerInfo(broker);

            try  {
                connectToBroker(broker);

                broker.sendGetDestinationsMessage(null, -1);
    Vector dests = broker.receiveGetDestinationsReplyMessage();

    if (dests != null) {
        if (listAll) {
                        listDests(brokerCmdProps, dests, LIST_ALL);
        } else if (DestType.isTopic(destTypeMask))  {
                        listDests(brokerCmdProps, dests, LIST_TOPIC);
        } else if (DestType.isQueue(destTypeMask))  {
                        listDests(brokerCmdProps, dests, LIST_QUEUE);
        }
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_DST_SUC));
                } else  {
                    Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DST_FAIL));
                    return (1);
                }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DST_FAIL));
                return (1);
            }

  } else if (CMDARG_SERVICE.equals(commandArg)) {

            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_SVC_FAIL));
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_SVC));
            printBrokerInfo(broker);

            try  {
                connectToBroker(broker);

                broker.sendGetServicesMessage(null);
    Vector svcs = broker.receiveGetServicesReplyMessage();

    if (svcs != null) {
        BrokerCmdPrinter bcp = new BrokerCmdPrinter(3, 4, "-");
        String[] row = new String[3];
        row[0] = ar.getString(ar.I_JMQCMD_SVC_NAME);
        row[1] = ar.getString(ar.I_JMQCMD_SVC_PORT);
        row[2] = ar.getString(ar.I_JMQCMD_SVC_STATE);
        bcp.addTitle(row);
 
                    Enumeration thisEnum = svcs.elements();
                    while (thisEnum.hasMoreElements()) {
                        ServiceInfo sInfo = (ServiceInfo)thisEnum.nextElement();
                        row[0] = sInfo.name;

      // The port number is not applicable to this service
      if (sInfo.port == -1) {
          row[1] = "-";

      // Add more information about the port number:
      // dynamically generated or statically declared
      } else if (sInfo.dynamicPort) {

                            switch (sInfo.state) {
                                case ServiceState.UNKNOWN:
                                    row[1] = ar.getString(ar.I_DYNAMIC);
                                break;
                                default:
                                    row[1] = new Integer(sInfo.port).toString() +
                   " (" + ar.getString(ar.I_DYNAMIC) + ")";
                            }
                        } else {
                            row[1] = new Integer(sInfo.port).toString() +
                 " (" + ar.getString(ar.I_STATIC) + ")";;
      }
                        // row[2] = ServiceState.getString(sInfo.state);
                   row[2] = BrokerAdminUtil.getServiceState(sInfo.state);
      bcp.add(row);
        }

        bcp.println();
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_SVC_SUC));

                } else  {
                    Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_SVC_FAIL));
                    return (1);
                }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_SVC_FAIL));
                return (1);
            }

        } else if (CMDARG_DURABLE.equals(commandArg)) {

            boolean listDstName = false; // display dst if we list all

            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DUR_FAIL));
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            String destName = brokerCmdProps.getDestName();

            if (destName != null)
                Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_DUR, destName));
            else
                Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_ALL_DUR));
            printBrokerInfo(broker);

            try {
                connectToBroker(broker);

            } catch (BrokerAdminException bae)  {
                handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DUR_FAIL));
                return (1);
            }

            try  {
                if (destName == null) {
                    listDstName = true;
                } else {
        isDestTypeTopic(broker, destName);
                }

            } catch (BrokerAdminException bae)  {
                if (BrokerAdminException.INVALID_OPERATION == bae.getType())
                    bae.setBrokerErrorStr
                        (ar.getString(ar.I_ERROR_MESG) +
                         ar.getKString(ar.E_DEST_NOT_TOPIC, destName));

                handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DUR_FAIL));
                return (1);
            }
   
      try {
                broker.sendGetDurablesMessage(destName, null);
                Vector durs = broker.receiveGetDurablesReplyMessage();

                if (durs != null) {
                    BrokerCmdPrinter bcp = null;
                    String[] row = null;
                    if (listDstName) {
                        row = new String[5];
                        bcp= new BrokerCmdPrinter(5, 3, "-");
                    } else {
                        row = new String[4];
                        bcp= new BrokerCmdPrinter(4, 3, "-");
                    }
                    int indx = 0;
                    row[indx ++] = ar.getString(ar.I_JMQCMD_DUR_NAME);
                    row[indx ++] = ar.getString(ar.I_JMQCMD_CLIENT_ID);
                    if (listDstName)
                        row[indx ++] = ar.getString(ar.I_JMQCMD_DST_NAME);
                    row[indx ++] = ar.getString(ar.I_JMQCMD_DUR_NUM_MSG);
                    row[indx ++] = ar.getString(ar.I_JMQCMD_DUR_STATE);
                    bcp.addTitle(row);

                    Enumeration thisEnum = durs.elements();
                    while (thisEnum.hasMoreElements()) {
                        DurableInfo dInfo = (DurableInfo)thisEnum.nextElement();
                        indx = 0;
                        row[indx ++] = (dInfo.name == null) ? "" : dInfo.name;
                        row[indx++] = (dInfo.clientID == null) ? "" : dInfo.clientID;
                        if (listDstName)
                            row[indx ++] = (dInfo.consumer == null) ? "" : dInfo.consumer.destination;
                        row[indx ++] = new Integer(dInfo.nMessages).toString();
      if (dInfo.isActive) {
                        if (dInfo.isShared && listDstName) {
                            row[indx ++] = ar.getString(ar.I_ACTIVE)+"["+dInfo.activeCount+"]";
                        } else {
                            row[indx ++] = ar.getString(ar.I_ACTIVE);
                        }
            } else {
                            row[indx ++] = ar.getString(ar.I_INACTIVE);
            }
                        bcp.add(row);
                    }

              // Use durname+clientID as the key when listing.
              bcp.setKeyCriteria(new int[] {0, 1});
                    bcp.println();
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_DUR_SUC));

                } else  {
                    Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DUR_FAIL));
                    return (1);
                }

            } catch (BrokerAdminException bae)  {
                handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_DUR_FAIL));
                return (1);
      }
        } else if (CMDARG_TRANSACTION.equals(commandArg)) {

            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_TXN_FAIL));
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
      if (!force)
          broker = promptForAuthentication(broker);

      Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_TXN));
      printBrokerInfo(broker);

            try  {
                connectToBroker(broker);

                broker.sendGetTxnsMessage();
    Vector txns = broker.receiveGetTxnsReplyMessage();

                if ((txns != null) && (txns.size() > 0)) {
        BrokerCmdPrinter bcp = new BrokerCmdPrinter(5, 3, "-");
        BrokerCmdPrinter bcp_local = new BrokerCmdPrinter(4, 3, "-");
        BrokerCmdPrinter bcp_remote = new BrokerCmdPrinter(4, 3, "-");
        String[]  row = new String[5], value;
        Long  tmpLong;
        Integer  tmpInt;
        String  tmpStr, tmpStr2;

        row[0] = ar.getString(ar.I_JMQCMD_TXN_ID);
        row[1] = ar.getString(ar.I_JMQCMD_TXN_STATE);
        row[2] = ar.getString(ar.I_JMQCMD_TXN_USERNAME);
        row[3] = ar.getString(ar.I_JMQCMD_TXN_NUM_MSGS_ACKS);
        row[4] = ar.getString(ar.I_JMQCMD_TXN_TIMESTAMP);
        bcp.addTitle(row);

        row[0] = ar.getString(ar.I_JMQCMD_TXN_ID);
        row[1] = ar.getString(ar.I_JMQCMD_TXN_STATE);
        row[2] = ar.getString(ar.I_JMQCMD_TXN_USERNAME);
        row[3] = ar.getString(ar.I_JMQCMD_TXN_TIMESTAMP);
        bcp_local.addTitle(row);

        row[0] = ar.getString(ar.I_JMQCMD_TXN_ID);
        row[1] = ar.getString(ar.I_JMQCMD_TXN_STATE);
        row[2] = "# Acks";
        row[3] = "Remote broker";
        bcp_remote.addTitle(row);
 
        Enumeration thisEnum = txns.elements();
        while (thisEnum.hasMoreElements()) {
      Hashtable txnInfo = (Hashtable)thisEnum.nextElement();

                  Integer type = (Integer)txnInfo.get("type");

      if (type.intValue() == TXN_LOCAL)  {
                      tmpLong = (Long)txnInfo.get(PROP_NAME_TXN_ID);
                      row[0] = checkNullAndPrint(tmpLong);

                      tmpInt = (Integer)txnInfo.get(PROP_NAME_TXN_STATE);
                      row[1] = getTxnStateString(tmpInt);

                      tmpStr = (String)txnInfo.get(PROP_NAME_TXN_USER);
                      row[2] = checkNullAndPrint(tmpStr);

                      tmpInt = (Integer)txnInfo.get(PROP_NAME_TXN_NUM_MSGS);
                      tmpStr = checkNullAndPrint(tmpInt);
                      tmpInt = (Integer)txnInfo.get(PROP_NAME_TXN_NUM_ACKS);
                      tmpStr2 = checkNullAndPrint(tmpInt);
                      row[3] = tmpStr + "/" + tmpStr2;

                      tmpLong = (Long)txnInfo.get(PROP_NAME_TXN_TIMESTAMP);
                      row[4] = checkNullAndPrintTimestamp(tmpLong);

          bcp.add(row);
      } else if (type.intValue() == TXN_CLUSTER)  {
                      tmpLong = (Long)txnInfo.get(PROP_NAME_TXN_ID);
                      row[0] = checkNullAndPrint(tmpLong);

                      tmpInt = (Integer)txnInfo.get(PROP_NAME_TXN_STATE);
                      row[1] = getTxnStateString(tmpInt);

                      tmpStr = (String)txnInfo.get(PROP_NAME_TXN_USER);
                      row[2] = checkNullAndPrint(tmpStr);

                      tmpLong = (Long)txnInfo.get(PROP_NAME_TXN_TIMESTAMP);
                      row[3] = checkNullAndPrintTimestamp(tmpLong);

          bcp_local.add(row);
      } else if (type.intValue() == TXN_REMOTE)  {
                      tmpLong = (Long)txnInfo.get(PROP_NAME_TXN_ID);
                      row[0] = checkNullAndPrint(tmpLong);

                      tmpInt = (Integer)txnInfo.get(PROP_NAME_TXN_STATE);
                      row[1] = getTxnStateString(tmpInt);

                      tmpInt = (Integer)txnInfo.get(PROP_NAME_TXN_NUM_ACKS);
                      tmpStr2 = checkNullAndPrint(tmpInt);
                      row[2] = tmpStr2;

                      tmpStr = (String)txnInfo.get("homebroker");
                      row[3] = checkNullAndPrint(tmpStr);

          bcp_remote.add(row);
      }
        }

                    Globals.stdOutPrintln(
          "Transactions that are owned by this broker");
        bcp.println();

                    Globals.stdOutPrintln(
          "   Transactions that involve remote brokers");
        bcp_local.setIndent(3);
        bcp_local.println();

                    Globals.stdOutPrintln("Transactions that are owned by a remote broker");
        bcp_remote.println();

                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_TXN_SUC));

                } else  {
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_TXN_NONE));
                }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_TXN_FAIL));
                return (1);
            }

        } else if (CMDARG_CONNECTION.equals(commandArg)) {
            String svcName = brokerCmdProps.getService();

            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_CXN_FAIL));
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
      if (!force)
          broker = promptForAuthentication(broker);

      if (svcName == null)  {
          Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_CXN));
                printBrokerInfo(broker);
      } else  {
          Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_CXN_FOR_SVC));
                printServiceInfo(svcName);

                Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_SPECIFY_BKR));
                printBrokerInfo(broker);
      }

            try  {
                connectToBroker(broker);

                broker.sendGetConnectionsMessage(svcName, null);
    Vector cxnList = broker.receiveGetConnectionsReplyMessage();

                if ((cxnList != null) && (cxnList.size() > 0)) {
        BrokerCmdPrinter bcp = new BrokerCmdPrinter(6, 2, "-");
        String[]  row = new String[6], value;
        Long  tmpLong;
        Integer  tmpInt;
        String  tmpStr;
        int i;

        i = 0;
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_CXN_ID);
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_USER);
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_SERVICE);
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_NUM_PRODUCER);
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_NUM_CONSUMER);
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_HOST);

        /*
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_CLIENT_ID);
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_PORT);
        row[i++] = ar.getString(ar.I_JMQCMD_CXN_CLIENT_PLATFORM);
        */
        bcp.addTitle(row);
 
        Enumeration thisEnum = cxnList.elements();
        while (thisEnum.hasMoreElements()) {
      Hashtable cxnInfo = (Hashtable)thisEnum.nextElement();

            i = 0;

                  tmpLong = (Long)cxnInfo.get(PROP_NAME_CXN_CXN_ID);
                  row[i++] = checkNullAndPrint(tmpLong);

                  tmpStr = (String)cxnInfo.get(PROP_NAME_CXN_USER);
                  row[i++] = checkNullAndPrint(tmpStr);

                  tmpStr = (String)cxnInfo.get(PROP_NAME_CXN_SERVICE);
                  row[i++] = checkNullAndPrint(tmpStr);

                  tmpInt = (Integer)cxnInfo.get(PROP_NAME_CXN_NUM_PRODUCER);
                  row[i++] = checkNullAndPrint(tmpInt);

                  tmpInt = (Integer)cxnInfo.get(PROP_NAME_CXN_NUM_CONSUMER);
                  row[i++] = checkNullAndPrint(tmpInt);

                  tmpStr = (String)cxnInfo.get(PROP_NAME_CXN_HOST);
                  row[i++] = checkNullAndPrint(tmpStr);

      /*
                  tmpStr = (String)cxnInfo.get(PROP_NAME_CXN_CLIENT_ID);
                  row[i++] = checkNullAndPrint(tmpStr);

                  tmpInt = (Integer)cxnInfo.get(PROP_NAME_CXN_PORT);
                  row[i++] = checkNullAndPrint(tmpInt);

                  tmpStr = (String)cxnInfo.get(PROP_NAME_CXN_CLIENT_PLATFORM);
                  row[i++] = checkNullAndPrint(tmpStr);
      */

      bcp.add(row);
        }

        bcp.println();
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_CXN_SUC));

                } else  {
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_CXN_NONE));
                }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_CXN_FAIL));
                return (1);
            }
        } else if (CMDARG_BROKER.equals(commandArg)) {
            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_BKR_FAIL));
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
      if (!force)
          broker = promptForAuthentication(broker);

      Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_BKR));
            printBrokerInfo(broker);

            try  {
                connectToBroker(broker);

    /*
     * Get broker props to find out if broker is in HA cluster and
     * broker cluster ID
     */
                broker.sendGetBrokerPropsMessage();
                Properties bkrProps = broker.receiveGetBrokerPropsReplyMessage();

    BrokerCmdPrinter haBcp = new BrokerCmdPrinter(2, 3, null);
    String[]  haInfoRow = new String[2];

    /*
     * Check if cluster is HA or not
     */
    String value = bkrProps.getProperty(PROP_NAME_BKR_CLS_HA);
    boolean isHA = Boolean.valueOf(value).booleanValue();

    /*
     * Display cluster ID only if HA cluster
     */
    //if (isHA)  {
        haInfoRow[0] = ar.getString(ar.I_CLS_CLUSTER_ID);
        value = bkrProps.getProperty(PROP_NAME_BKR_CLS_CLUSTER_ID, "");
        haInfoRow[1] = value;
        haBcp.add(haInfoRow);
    //}

    haInfoRow[0] = ar.getString(ar.I_CLS_IS_HA);
    if (!isHA)  {
            haInfoRow[1] = Boolean.FALSE.toString();
    } else  {
            haInfoRow[1] = Boolean.TRUE.toString();
    }
    haBcp.add(haInfoRow);

    haBcp.println();

    /*
     * Get state of each broker in cluster
     */
                broker.sendGetClusterMessage(true);
    Vector bkrList = broker.receiveGetClusterReplyMessage();

                if ((bkrList != null) && (bkrList.size() > 0)) {
        BrokerCmdPrinter bcp;
        String[]  row;
        Long tmpLong;
        Integer tmpInt;
        long idle;
        int  i;

        if (isHA)  {
            bcp = new BrokerCmdPrinter(6, 3, "-");
            row = new String[6];

            bcp.setSortNeeded(false);
            bcp.setTitleAlign(BrokerCmdPrinter.CENTER);

            i = 0;
            row[i++] = "";
            row[i++] = "";
            row[i++] = "";
            row[i++] = "";
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_TAKEOVER_ID1);
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_TIME_SINCE_TIMESTAMP1);

            bcp.addTitle(row);
 
            i = 0;
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_BROKER_ID);
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_ADDRESS);
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_BROKER_STATE);
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_NUM_MSGS);
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_TAKEOVER_ID2);
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_TIME_SINCE_TIMESTAMP2);

            bcp.addTitle(row);
 
            Enumeration thisEnum = bkrList.elements();
            while (thisEnum.hasMoreElements()) {
          Hashtable bkrClsInfo
        = (Hashtable)thisEnum.nextElement();

                i = 0;

                      row[i++] =
              checkNullAndPrint(
            bkrClsInfo.get(BrokerClusterInfo.ID));

                      row[i++] =
              checkNullAndPrint(
            bkrClsInfo.get(BrokerClusterInfo.ADDRESS));

                      tmpInt = (Integer)bkrClsInfo.get(BrokerClusterInfo.STATE);
          if (tmpInt != null)  {
                          row[i++] = BrokerState.toString(tmpInt.intValue());
          } else  {
                          row[i++] = "";
          }

                      tmpLong = (Long)bkrClsInfo.get(BrokerClusterInfo.NUM_MSGS);
                      row[i++] = checkNullAndPrint(tmpLong);

                      row[i++] = checkNullAndPrint(
                      bkrClsInfo.get(
              BrokerClusterInfo.TAKEOVER_BROKER_ID));

          tmpLong = (Long)bkrClsInfo.get(
            BrokerClusterInfo.STATUS_TIMESTAMP);
          if (tmpLong != null)  {
              idle = System.currentTimeMillis() - tmpLong.longValue();
                          row[i++] = CommonCmdRunnerUtil.getTimeString(idle);
          } else  {
                          row[i++] = "";
          }

          bcp.add(row);
            }
        } else  {
            bcp = new BrokerCmdPrinter(2, 3, "-");
            row = new String[2];

            bcp.setSortNeeded(false);
            bcp.setTitleAlign(BrokerCmdPrinter.CENTER);

            i = 0;
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_ADDRESS);
            row[i++] = ar.getString(ar.I_JMQCMD_CLS_BROKER_STATE);

            bcp.addTitle(row);
 
            Enumeration thisEnum = bkrList.elements();
            while (thisEnum.hasMoreElements()) {
          Hashtable bkrClsInfo
        = (Hashtable)thisEnum.nextElement();

                i = 0;

                      row[i++] =
              checkNullAndPrint(
            bkrClsInfo.get(BrokerClusterInfo.ADDRESS));

                      tmpInt = (Integer)bkrClsInfo.get(BrokerClusterInfo.STATE);
          if (tmpInt != null)  {
                          row[i++] = BrokerState.toString(tmpInt.intValue());
          } else  {
                          row[i++] = "";
          }

          bcp.add(row);
            }
        }

        bcp.println();
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_BKR_SUC));
                } else  {
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_BKR_NONE));
                }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_BKR_FAIL));
                return (1);
            }
  } else if (CMDARG_JMX_CONNECTOR.equals(commandArg)) {

            if (broker == null)  {
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_JMX_FAIL));
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_JMX));
            printBrokerInfo(broker);

            try  {
                connectToBroker(broker);

                broker.sendGetJMXConnectorsMessage(null);
    Vector jmxList = broker.receiveGetJMXConnectorsReplyMessage();

    if (jmxList != null) {
        BrokerCmdPrinter bcp = new BrokerCmdPrinter(3, 4, null);
        String[] row = new String[3];
        row[0] = ar.getString(ar.I_JMQCMD_JMX_NAME);
        row[1] = ar.getString(ar.I_JMQCMD_JMX_ACTIVE);
        row[2] = ar.getString(ar.I_JMQCMD_JMX_URL);
        bcp.addTitle(row);
 
                    Enumeration thisEnum = jmxList.elements();
                    while (thisEnum.hasMoreElements()) {
                        Hashtable jmxInfo = (Hashtable)thisEnum.nextElement();
      int i = 0;

                  row[i++] = checkNullAndPrint(jmxInfo.get(PROP_NAME_JMX_NAME));
                  row[i++] = checkNullAndPrint(jmxInfo.get(PROP_NAME_JMX_ACTIVE));
                  row[i++] = checkNullAndPrint(jmxInfo.get(PROP_NAME_JMX_URL));

      bcp.add(row);
        }

        bcp.println();
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_JMX_SUC));

                } else  {
                    Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_JMX_NONE));

                    Globals.stdOutPrintln("");
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_JMX_SUC));
                }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_JMX_FAIL));
                return (1);
            }

  } else if (CMDARG_MSG.equals(commandArg)) {

            if (broker == null)  {
    /*
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_MSG_FAIL));
    */
                Globals.stdErrPrintln("Listing messages failed.");
                return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            String destName = brokerCmdProps.getTargetName();
            destTypeMask = getDestTypeMask(brokerCmdProps);
      Long maxNumMsgsRetrieved = brokerCmdProps.getMaxNumMsgsRetrieved(),
      startMsgIndex = brokerCmdProps.getStartMsgIndex();

      /*
            Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_MSG));
      */
            Globals.stdOutPrintln("Listing messages for the destination");
      printDestinationInfo();

            Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_SPECIFY_BKR));
            printBrokerInfo(broker);

            try  {
                connectToBroker(broker);

                broker.sendGetMessagesMessage(destName, destTypeMask, false, null,
            startMsgIndex, maxNumMsgsRetrieved);
    Vector msgList = broker.receiveGetMessagesReplyMessage();

    if ((msgList != null) && (msgList.size() != 0)) {
        BrokerCmdPrinter bcp = new BrokerCmdPrinter(4, 3, "-");
        String[] row = new String[4];

              bcp.setSortNeeded(false);

        int i = 0;
        row[i++] = "Message #";
        row[i++] = "Message IDs";
        row[i++] = "Priority";
              row[i++] = "Body Type";
        bcp.addTitle(row);
 
        long start = 0;
        if (startMsgIndex != null)  {
            start = startMsgIndex.longValue();
        }
                    Enumeration thisEnum = msgList.elements();
                    while (thisEnum.hasMoreElements()) {
                        HashMap oneMsg = (HashMap)thisEnum.nextElement();
      i = 0;
      /*
                        String oneID = (String)thisEnum.nextElement();
      */

                  row[i++] = Long.toString(start++);
                  row[i++] = checkNullAndPrint(oneMsg.get("MessageID"));
                  row[i++] = checkNullAndPrint(oneMsg.get("Priority"));
                  row[i++] = checkNullAndPrintMsgBodyType(
          (Integer)oneMsg.get("MessageBodyType"), false);

      bcp.add(row);
        }

        bcp.println();
        /*
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_MSG_SUC));
        */
                    Globals.stdOutPrintln("Successfully listed messages.");

                } else  {
        /*
                    Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_MSG_NONE));
        */
                    Globals.stdErrPrintln("There are no messages.");

                    Globals.stdOutPrintln("");
        /*
                    Globals.stdOutPrintln(ar.getString(ar.I_JMQCMD_LIST_MSG_SUC));
        */
                    Globals.stdOutPrintln("Successfully listed messages.");
                }
            } catch (BrokerAdminException bae)  {
    handleBrokerAdminException(bae);

    /*
                Globals.stdErrPrintln(ar.getString(ar.I_JMQCMD_LIST_MSG_FAIL));
    */
                Globals.stdErrPrintln("Listing messages failed.");
                return (1);
            }
  }

        broker.close();

        return (0);
    }
View Full Code Here

  }
  return (retValue);
    }

    private int runGetAttr(BrokerCmdProperties brokerCmdProps) {
        BrokerAdmin broker;
        int retValue = 1;

        broker = init();

        // Check for the target argument.
        // Valid value are dst, svc, and bkr.
        String commandArg = brokerCmdProps.getCommandArg();

        if (CMDARG_DESTINATION.equals(commandArg)) {

            if (broker == null)  {
    Globals.stdOutPrintln("Problems connecting to the broker.");
    return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            String destName = brokerCmdProps.getTargetName();
            int destTypeMask = getDestTypeMask(brokerCmdProps);
      String attrName = brokerCmdProps.getSingleTargetAttr();

            try {
                connectToBroker(broker);

                broker.sendGetDestinationsMessage(destName, destTypeMask);
                Vector dest = broker.receiveGetDestinationsReplyMessage();

                if ((dest != null) && (dest.size() == 1)) {
                    Enumeration thisEnum = dest.elements();
                    DestinationInfo dInfo = (DestinationInfo)thisEnum.nextElement();

        if (PROP_NAME_OPTION_MAX_MESG_BYTE.equals(attrName)) {
                  Globals.stdOutPrintln(Long.toString(dInfo.maxMessageBytes));
      retValue = 0;

        } else if (PROP_NAME_OPTION_MAX_MESG.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.maxMessages));
      retValue = 0;

        } else if (PROP_NAME_OPTION_MAX_PER_MESG_SIZE.equals(attrName)) {
                  Globals.stdOutPrintln(Long.toString(dInfo.maxMessageSize));
      retValue = 0;

        } else if (PROP_NAME_OPTION_CUR_MESG_BYTE.equals(attrName)) {
                  Globals.stdOutPrintln(Long.toString(dInfo.nMessageBytes));
      retValue = 0;

        } else if (PROP_NAME_OPTION_CUR_MESG.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.nMessages));
      retValue = 0;

        } else if (PROP_NAME_OPTION_CUR_PRODUCERS.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.nProducers));
      retValue = 0;

        } else if (PROP_NAME_MAX_FAILOVER_CONSUMER_COUNT.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.maxFailoverConsumers));
      retValue = 0;

        } else if (PROP_NAME_MAX_ACTIVE_CONSUMER_COUNT.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.maxActiveConsumers));
      retValue = 0;

        } else if (PROP_NAME_IS_LOCAL_DEST.equals(attrName)) {
      if (dInfo.isDestinationLocal())  {
                      Globals.stdOutPrintln(Boolean.TRUE.toString());
      } else  {
                      Globals.stdOutPrintln(Boolean.FALSE.toString());
      }
      retValue = 0;

        } else if (PROP_NAME_LIMIT_BEHAVIOUR.equals(attrName)) {
                  Globals.stdOutPrintln(DestLimitBehavior.getString(dInfo.destLimitBehavior));
      retValue = 0;

        } else if (PROP_NAME_LOCAL_DELIVERY_PREF.equals(attrName)) {
      int cdp = dInfo.destCDP;

      if (cdp == ClusterDeliveryPolicy.LOCAL_PREFERRED)  {
                      Globals.stdOutPrintln(Boolean.TRUE.toString());
      } else  {
                      Globals.stdOutPrintln(Boolean.FALSE.toString());
      }
      retValue = 0;

        } else if (PROP_NAME_CONSUMER_FLOW_LIMIT.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.maxPrefetch));
      retValue = 0;

        } else if (PROP_NAME_MAX_PRODUCERS.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.maxProducers));
      retValue = 0;

        } else if (PROP_NAME_OPTION_CUR_A_CONSUMERS.equals(attrName)) {
      if (DestType.isQueue(destTypeMask)) {
                      Globals.stdOutPrintln(Integer.toString(dInfo.naConsumers));
      } else  {
                      Globals.stdOutPrintln(Integer.toString(dInfo.nConsumers));
      }
      retValue = 0;

        } else if (PROP_NAME_OPTION_CUR_B_CONSUMERS.equals(attrName)) {
                  Globals.stdOutPrintln(Integer.toString(dInfo.nfConsumers));
      retValue = 0;

        } else if (PROP_NAME_USE_DMQ.equals(attrName)) {
                  Globals.stdOutPrintln(Boolean.toString(dInfo.useDMQ()));
      retValue = 0;

        } else if (PROP_NAME_VALIDATE_XML_SCHEMA_ENABLED.equals(attrName)) {
                  Globals.stdOutPrintln(Boolean.toString(dInfo.validateXMLSchemaEnabled()));
      retValue = 0;

        } else if (PROP_NAME_XML_SCHEMA_URI_LIST.equals(attrName)) {
                  Globals.stdOutPrintln(dInfo.XMLSchemaUriList);
      retValue = 0;

        } else if (PROP_NAME_RELOAD_XML_SCHEMA_ON_FAILURE.equals(attrName)) {
                  Globals.stdOutPrintln(Boolean.toString(dInfo.reloadXMLSchemaOnFailure()));
      retValue = 0;

        } else {
      // Should not get here since we check for valid attribute
      // names in BrokerCmd.checkGetAttr().
                  Globals.stdErrPrintln(attrName + " is not recognized.");
      return (1);
        }
                } else {
         Globals.stdErrPrintln("Problems retrieving the destination info.");
        return (1);
    }

            } catch (BrokerAdminException bae) {
                handleBrokerAdminException(bae);
    return (1);
      }
      return (retValue);

        } else if (CMDARG_SERVICE.equals(commandArg)) {

            if (broker == null)  {
                Globals.stdOutPrintln("Problems connecting to the broker.");
    return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            String svcName = brokerCmdProps.getTargetName();
            String attrName = brokerCmdProps.getSingleTargetAttr();

            try  {
                connectToBroker(broker);

                broker.sendGetServicesMessage(svcName);
                Vector svc = broker.receiveGetServicesReplyMessage();

                if ((svc != null) && (svc.size() == 1)) {
                    Enumeration thisEnum = svc.elements();
                    ServiceInfo sInfo = (ServiceInfo)thisEnum.nextElement();

                    if (BrokerCmdOptions.PROP_NAME_SVC_PORT.equals(attrName)) {
                        Globals.stdOutPrintln(Integer.toString(sInfo.port));
                        retValue = 0;

                    } else if (BrokerCmdOptions.PROP_NAME_SVC_MIN_THREADS.
      equals(attrName)) {
                        Globals.stdOutPrintln(Integer.toString(sInfo.minThreads));
                        retValue = 0;

                    } else if (BrokerCmdOptions.PROP_NAME_SVC_MAX_THREADS.
                        equals(attrName)) {
                        Globals.stdOutPrintln(Integer.toString(sInfo.maxThreads));
                        retValue = 0;

                    } else {
                        // Should not get here since we check for valid attribute
                        // names in BrokerCmd.checkGetAttr().
                        Globals.stdOutPrintln(attrName + " is not recognized.");
                        return (1);
        }
                } else {
         Globals.stdOutPrintln("Problems retrieving the service info.");
        return (1);
    }

            } catch (BrokerAdminException bae) {
                 handleBrokerAdminException(bae);
     return (1);
      }
      return (retValue);

        } else if (CMDARG_BROKER.equals(commandArg)) {

            if (broker == null)  {
                Globals.stdOutPrintln("Problems connecting to the broker.");
    return (1);
            }

            boolean force = brokerCmdProps.forceModeSet();
            if (!force)
                broker = promptForAuthentication(broker);

            String attrName = brokerCmdProps.getSingleTargetAttr();

            try  {
                connectToBroker(broker);

                broker.sendGetBrokerPropsMessage();
                Properties bkrProps = broker.receiveGetBrokerPropsReplyMessage();

                if (bkrProps == null) {
         Globals.stdOutPrintln("Problems retrieving the broker info.");
        return (1);
                }
View Full Code Here

        }
        return (retValue);
    }

    private int runUngracefulKill(BrokerCmdProperties brokerCmdProps) {
        BrokerAdmin broker;

        broker = init();

        if (broker == null)  {
            Globals.stdOutPrintln("Problems connecting to the broker.");
            return (1);
        }

        boolean force = brokerCmdProps.forceModeSet();
        if (!force)
            broker = promptForAuthentication(broker);

        try {
            connectToBroker(broker);
            broker.sendShutdownMessage(false, true);
            Globals.stdOutPrintln("Ungracefully shutdown the broker.");
      return (0);

        } catch (BrokerAdminException bae)  {
            handleBrokerAdminException(bae);
View Full Code Here

            return (1);
        }
    }

    private int runDebug(BrokerCmdProperties brokerCmdProps) {
        BrokerAdmin broker;
  BrokerCmdPrinter bcp;
        Hashtable  debugHash = null;
  String    cmd, cmdarg, target;
  String    targetType;
  Properties  optionalProps = null;

        broker = init();

        if (broker == null)  {
            Globals.stdOutPrintln("Problems connecting to the broker.");
            return (1);
        }

        boolean force = brokerCmdProps.forceModeSet();
        if (!force)
            broker = promptForAuthentication(broker);

  cmd = brokerCmdProps.getCommand();
        cmdarg = brokerCmdProps.getCommandArg();
  target = brokerCmdProps.getTargetName();
  /*
   * The -t option is used to specify target type
   */
  targetType = brokerCmdProps.getDestType();
  optionalProps = brokerCmdProps.getTargetAttrs();

        Globals.stdOutPrintln("Sending the following DEBUG message:");

  bcp = new BrokerCmdPrinter(2, 4, "-", BrokerCmdPrinter.LEFT, false);
  String[] row = new String[2];
  row[0] = "Header Property Name";
  row[1] = "Value";
  bcp.addTitle(row);
  row[0] = MessageType.JMQ_CMD;
  row[1] = cmd;
  bcp.add(row);
  row[0] = MessageType.JMQ_CMDARG;
  row[1] = cmdarg;
  bcp.add(row);
  if (target != null)  {
      row[0] = MessageType.JMQ_TARGET;
      row[1] = target;
      bcp.add(row);
  }
  if (targetType != null)  {
      row[0] = MessageType.JMQ_TARGET_TYPE;
      row[1] = targetType;
      bcp.add(row);
  }
  bcp.println();

  if ((optionalProps != null) && (optionalProps.size() > 0))  {
            Globals.stdOutPrintln("Optional properties:");
      printAttrs(optionalProps, true);
  }

  Globals.stdOutPrintln("To the broker specified by:");
  printBrokerInfo(broker);

        try {
            connectToBroker(broker);
            broker.sendDebugMessage(cmd, cmdarg, target, targetType, optionalProps);
            debugHash = broker.receiveDebugReplyMessage();

      if ((debugHash != null) && (debugHash.size() > 0))  {
          Globals.stdOutPrintln("Data received back from broker:");
          CommonCmdRunnerUtil.printDebugHash(debugHash);
      } else  {
View Full Code Here

  return (mask);
    }

    private BrokerAdmin init()  {
  BrokerAdmin  broker;

  String     brokerHostPort = brokerCmdProps.getBrokerHostPort(),
      brokerHostName = CommonCmdRunnerUtil.getBrokerHost(brokerHostPort),
      adminUser = brokerCmdProps.getAdminUserId(),
      adminPasswd;
  int    brokerPort = -1,
      numRetries = brokerCmdProps.getNumRetries(),
      receiveTimeout = brokerCmdProps.getReceiveTimeout();
  boolean    adminKeyUsed = brokerCmdProps.isAdminKeyUsed();
  boolean    useSSL = brokerCmdProps.useSSLTransportSet();

  if (brokerCmdProps.adminDebugModeSet())  {
      BrokerAdmin.setDebug(true);
  }

  try  {
      adminPasswd = getPasswordFromFileOrCmdLine(brokerCmdProps);

      broker = new BrokerAdmin(brokerHostPort,
          adminUser, adminPasswd,
          (receiveTimeout * 1000), useSSL);

      if (adminKeyUsed)  {
    broker.setAdminKeyUsed(true);
      }
      if (useSSL)  {
    broker.setSSLTransportUsed(true);
      }
      if (numRetries > 0)  {
    /*
     * If the number of retries was specified, set it on the
     * BrokerAdmin object.
     */
    broker.setNumRetries(numRetries);
      }
  } catch (BrokerCmdException bce)  {
      handleBrokerCmdException(bce);

      return (null);
  } catch (CommonCmdException cce)  {
      handleBrokerCmdException(cce);

      return (null);
  } catch (BrokerAdminException bae)  {
      handleBrokerAdminException(bae);

      return (null);
  }

  broker.addAdminEventListener(this);
  return (broker);
    }
View Full Code Here

     *       
     * @return  The BrokerAdmin object for the given
     *     index.
     */
    public BrokerAdmin getBrokerAdmin(int indexthrows BrokerAdminException {
  BrokerAdmin  ba;
  Properties  brokerAttrs = new Properties();
  String    basePropName, brokerAttrsStr,
      keyPropName, timeoutPropName,
      usernamePropName, passwdPropName;
  String    keyValue, timeoutValue, usernameValue, passwdValue;
  int    brokerAttrsLen;
  long    timeout;

  /*
   * Construct base property name string:
   *  broker0.
   */
  basePropName = PROP_NAME_BROKER_BASENAME
        + new Integer(index).toString()
        + ".";

  /*
   * Construct property name string:
   *  broker0.key
   */
  keyPropName = basePropName
      + PROP_NAME_BROKER_KEY_PREFIX;
  /*
   * Get key value, if any
   * The value of this property will be used later.
   */
  keyValue = getProperty(keyPropName, null);

  /*
   * Construct property name string:
   *  broker0.receiveTimeout
   */
  timeoutPropName = basePropName
      + PROP_NAME_BROKER_RECV_TIMEOUT_PREFIX;
  /*
   * For 2.0 FCS, we won't write out or read the timeout value.
   * Defaulting to -1 here.
  timeoutValue = getProperty(timeoutPropName, "");
  try  {
      timeout = Long.parseLong(timeoutValue);
  } catch (Exception e)  {
      timeout = -1;
  }
   */
  timeout = -1;

  /*
   * Construct property name string:
   *  broker0.userName
   */
  usernamePropName = basePropName
      + PROP_NAME_BROKER_USERNAME_PREFIX;
  /*
   * Get username value
   */
  usernameValue = getProperty(usernamePropName, "");


  /*
   * Construct property name string:
   *  broker0.password
   */
  passwdPropName = basePropName
      + PROP_NAME_BROKER_PASSWD_PREFIX;
  /*
   * Get passwd value
   */
  passwdValue = getProperty(passwdPropName, "");

  /*
   * Construct base property name string:
   *  broker0.attrs.
   */
  brokerAttrsStr = basePropName
        + PROP_NAME_BROKER_ATTR_PREFIX
        + ".";

  brokerAttrsLen = brokerAttrsStr.length();

        for (Enumeration e = propertyNames();  e.hasMoreElements() ;) {
      String propName = (String)e.nextElement();

      if (propName.startsWith(brokerAttrsStr))  {
          String newPropName, value;
                newPropName = propName.substring(brokerAttrsLen);
                value = getProperty(propName);
   
                brokerAttrs.setProperty(newPropName, value);
            }
        }
     
  ba = new BrokerAdmin(brokerAttrs, usernameValue, passwdValue, timeout);

  /*
   * Set key string if present.
   */
  if (keyValue != null)  {
      ba.setKey(keyValue);
  }

  return (ba);
    }
View Full Code Here

TOP

Related Classes of com.sun.messaging.jmq.admin.bkrutil.BrokerAdmin

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.