亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adminmgr.java

?? 一個java方面的消息訂閱發送的源碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/**
 * Redistribution and use of this software and associated documentation
 * ("Software"), with or without modification, are permitted provided
 * that the following conditions are met:
 *
 * 1. Redistributions of source code must retain copyright
 *    statements and notices.  Redistributions must also contain a
 *    copy of this document.
 *
 * 2. Redistributions in binary form must reproduce the
 *    above copyright notice, this list of conditions and the
 *    following disclaimer in the documentation and/or other
 *    materials provided with the distribution.
 *
 * 3. The name "Exolab" must not be used to endorse or promote
 *    products derived from this Software without prior written
 *    permission of Exoffice Technologies.  For written permission,
 *    please contact info@exolab.org.
 *
 * 4. Products derived from this Software may not be called "Exolab"
 *    nor may "Exolab" appear in their names without prior written
 *    permission of Exoffice Technologies. Exolab is a registered
 *    trademark of Exoffice Technologies.
 *
 * 5. Due credit should be given to the Exolab Project
 *    (http://www.exolab.org/).
 *
 * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
 * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * Copyright 2000-2003 (C) Exoffice Technologies Inc. All Rights Reserved.
 *
 * $Id: AdminMgr.java,v 1.1 2004/11/26 01:51:15 tanderson Exp $
 *
 * Date         Author  Changes
 */


package org.exolab.jms.tools.admin;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.ArrayList;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;

import org.apache.log4j.xml.DOMConfigurator;
import org.apache.oro.text.regex.*;

import org.exolab.jms.config.AdminConfiguration;
import org.exolab.jms.config.Configuration;
import org.exolab.jms.config.ConfigurationManager;
import org.exolab.jms.util.CommandLine;


/**
 * This class is the Gui controller for the JMS administration. It
 * displays data as a hierarchical set of tree nodes.
 *
 * <P>The Root is all the contactable JMS servers, idealy there can be several
 * of these all on different ports, with one common admin port they all listen
 * to. A user selects a JMSServer then connects via the menu item. This
 * allows the admin GUI to connect to the server via the main port and begin
 * displaying all its Queue/Topics and registered consumers.
 *
 * If there are no queue/topics for a consumer the node will be empty.
 * Selecting a consumer allows a user to see what its details are, i.e
 * last message received and acked, whether the consumer is currently
 * active/deactive paused etc.
 *
 * <P>The Gui can also be used to add/remove queue/topics and consumer
 * registrations.
 *
 * Reliable Topics are read only, since they cannot be persisted, they simply
 * display a snapshot at the time of connection.
 *
 * <P>For the moment this is not truly dynamic, that is a refresh needs to be
 * activated on the Gui to cause an update (other than changes made
 * through the Gui istelf).
 *
 * @version     $Revision: 1.1 $ $Date: 2004/11/26 01:51:15 $
 * @author      <a href="mailto:mourikis@exolab.org">Jim Mourikis</a>
 */
public class AdminMgr extends JFrame {

    // Gui Declarations
    private JMenuBar _menuBar;
    private JMenu _file;
    private JMenuItem _exit;
    private JMenu _actions;
    private JMenu _connections;
    private JMenuItem _refresh;
    private JMenuItem _online;
    private JMenuItem _offline;
    private JMenuItem _disconnect;
    private JSeparator _separator;
    private JMenuItem _startup;
    private JMenuItem _shutdown;
    private JScrollPane _jmsServers;
    private JTree _serverProperties;
    private JTextField _messageArea;
    private JComboBox _jmsCombo;

    // If this Admin object is connected to any OpenJMS
    private boolean _connected = false;

    /**
     * The server start command
     */
    private static String _serverStart = null;

    /**
     * The server configuration file path
     */
    private static String _serverConfig = null;

    // redirect stream to local console.
    private StreamRedirect _output = null;

    /**
     * The default constructor performs all gui creations.
     *
     */
    public AdminMgr() {
        this("");
    }

    public AdminMgr(String title) {
        initComponents(title);
        pack();
    }

    /** This method is called from within the constructor to
     * initialize the form. All the GUI objects are created, and callbacks
     * registered.
     */
    private void initComponents(String title) {
        _menuBar = new JMenuBar();
        _file = new JMenu();
        _exit = new JMenuItem();
        _actions = new JMenu();
        _connections = new JMenu();
        _refresh = new JMenuItem();
        _online = new JMenuItem();
        _offline = new JMenuItem();
        _disconnect = new JMenuItem();
        _separator = new JSeparator();
        _startup = new JMenuItem();
        _shutdown = new JMenuItem();
        _jmsServers = new JScrollPane();
        _jmsCombo = new JComboBox();
        _serverProperties = new JTree();
        setTitle("OpenJMS Administrator: " + title);
        DefaultTreeModel serverModel =
            OpenJMSServer.createServerList(_serverProperties);
        _serverProperties.setModel(serverModel);
        AdminInfo info = new AdminInfo();
        _serverProperties.setCellRenderer(info);

        _messageArea = new JTextField();
        _file.setText("File");
        _exit.setToolTipText("Exit administration");
        _exit.setText("Exit");
        _exit.setMnemonic('x');

        _serverProperties.setRootVisible(false);
        _serverProperties.setShowsRootHandles(true);
        _serverProperties.putClientProperty("JTree.lineStyle", "Angled");
        _serverProperties.setCellEditor(new OpenJMSEditor(_serverProperties,
            _jmsCombo));
        _serverProperties.setEditable(false);
        setupCallbacks();
        _file.add(_exit);
        _file.setMnemonic('F');
        _menuBar.add(_file);
        _actions.setText("Actions");
        _actions.setMnemonic('A');
        _connections.setText("Connections");
        _connections.setMnemonic('C');
        _refresh.setToolTipText("Refresh the display");
        _online.setToolTipText("Connect to a running OpenJMS Server");
        _offline.setToolTipText("Connect directly to an OpenJMS database");
        _refresh.setText("Refresh");
        _refresh.setMnemonic('R');
        _actions.add(_refresh);

        _online.setText("Online");
        _online.setMnemonic('O');
        _offline.setText("Offline");
        _offline.setMnemonic('f');
        _connections.add(_online);
        _connections.add(_offline);
        _actions.add(_connections);
        _disconnect.setToolTipText
            ("Disconnect from any connected OpenJMS Servers");
        _disconnect.setText("Disconnect");
        _disconnect.setMnemonic('D');
        _actions.add(_disconnect);

        _actions.add(_separator);
        _startup.setToolTipText("Start the OpenJMS server");
        _startup.setText("Start OpenJMS");
        _startup.setMnemonic('S');
        _shutdown.setToolTipText("Shutdown the connected OpenJMS server");
        _shutdown.setText("Shutdown OpenJMS");
        _shutdown.setMnemonic('h');
        _actions.add(_startup);
        _actions.add(_shutdown);
        _menuBar.add(_actions);

        _jmsServers.setViewportView(_serverProperties);


        getContentPane().add(_jmsServers, BorderLayout.CENTER);

        _messageArea.setToolTipText("Message Area");
        _messageArea.setEditable(false);
        _messageArea.setForeground(java.awt.Color.red);
        _messageArea.setText("Not Connected");
        _messageArea.setHorizontalAlignment(SwingConstants.CENTER);


        getContentPane().add(_messageArea, BorderLayout.SOUTH);
        setJMenuBar(_menuBar);
        _startup.setEnabled(true);
        _shutdown.setEnabled(false);
        _refresh.setEnabled(false);
        _disconnect.setEnabled(false);
    }

    /**
     * The exit method for the application, when the user shutdowns the form.
     *
     * @param evt The event that triggered this action.
     *
     */
    private void exitAdmin(ActionEvent evt) {
        System.exit(0);
    }

    /**
     * Exit the Application when a user selects File->Exit from the menu
     *
     * @param evt The window event that triggered this call.
     *
     */
    private void exitForm(WindowEvent evt) {
        System.exit(0);
    }

    /**
     * Refresh the display, and repaint all items.
     *
     * @param evt The event that triggered this operation.
     *
     */
    private void refresh(ActionEvent evt) {
        if (AbstractAdminConnection.instance() instanceof OnlineConnection) {
            setConnected(false, null);
            setConnected(true, "Connected - Online Mode");
            _startup.setEnabled(false);
            _shutdown.setEnabled(true);

        } else {
            ((OpenJMSServer) (_serverProperties.getModel().getRoot()
                )).refresh();
        }
    }

    /**
     * Start the OpenJMSServer.
     *
     */
    private void startup(ActionEvent evt) {

        try {
            String args[] = getStartCommand();

            System.out.print("running ");
            for (int i = 0, j = args.length; i < j; i++) {
                System.out.print(args[i] + " ");
            }
            System.out.println();

            if (_output != null) {
                // Stop the old redirect if any.
                _output.interrupt();
            }
            Process proc = Runtime.getRuntime().exec(args);
            // Redirect output
            _output = new StreamRedirect(proc.getInputStream());
            // kick it off
            _output.start();
        } catch (Exception err) {
            JOptionPane.showMessageDialog
                (this, "Failed to Startup OpenJMSServer:\n" + err
                + "\nCheck config file",
                    "OpenJMSServer Startup", JOptionPane.ERROR_MESSAGE);
        }
    }

    /**
     * When a user wishes to connect to all known OpenJMSServers.
     * Attempt to create an RMI connection to the OpenJMSServer. If the server
     * is not running, this will fail. The user can start the server through
     * the start server command, and attempt to re-connect, or use the offline
     * method below.
     *
     * @param evt The event that triggered this operation.
     *
     */
    private void onlineConnect(ActionEvent evt) {
        try {
            // if online.
            new OnlineConnection(this);
            _startup.setEnabled(false);
            _shutdown.setEnabled(true);
            setConnected(true, "Connected - Online Mode");
        } catch (Exception err) {
            JOptionPane.showMessageDialog
                (this, err.getMessage(), "Online Connection Error",
                    JOptionPane.ERROR_MESSAGE);
        }
    }


    /**
     * Connect to the database in offline mode. This action causes
     * the file chooser to be displayed, and the user must select an existing
     * database, or enter a new name to create a new database.
     *
     * All databases are suffixed with a ".db".
     *
     * @param evt The event that triggered this operation.
     *
     */
    private void offlineConnect(ActionEvent evt) {
        try {
            // if online.
            new OfflineConnection(this);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区三区免费看| 成人午夜伦理影院| 1024精品合集| 中文字幕乱码亚洲精品一区| 久久综合狠狠综合久久综合88 | 午夜视黄欧洲亚洲| 一区二区三区国产| 天堂影院一区二区| 日本免费在线视频不卡一不卡二| 日韩国产在线一| 久久精品国产在热久久| 蜜桃免费网站一区二区三区| 久久99最新地址| 风间由美一区二区三区在线观看| 粉嫩蜜臀av国产精品网站| 成人av影视在线观看| 91一区在线观看| 欧美色偷偷大香| 精品少妇一区二区三区视频免付费 | 久久国产乱子精品免费女| 久久国内精品视频| 国产不卡一区视频| 色8久久精品久久久久久蜜 | 欧美日本视频在线| 日韩女优制服丝袜电影| 2017欧美狠狠色| 亚洲视频中文字幕| 亚洲二区在线视频| 国产麻豆午夜三级精品| 97精品久久久午夜一区二区三区 | 国产欧美精品一区二区色综合朱莉| 亚洲国产精品激情在线观看| 一区二区三区免费| 精品一区二区三区香蕉蜜桃| 99久久国产综合精品色伊| 欧美视频中文字幕| 国产欧美综合色| 亚洲午夜精品网| 高清不卡在线观看| 538prom精品视频线放| 国产人久久人人人人爽| 亚洲宅男天堂在线观看无病毒 | 国产精品亲子伦对白| 亚洲成人777| 成人国产精品免费观看视频| 91精品国产欧美一区二区成人| 欧美国产欧美综合| 三级一区在线视频先锋| 91丨九色丨国产丨porny| 精品三级av在线| 亚洲第一电影网| 播五月开心婷婷综合| 日韩欧美一二三四区| 亚洲精品国产无天堂网2021| 国产精品88av| 91精品综合久久久久久| **性色生活片久久毛片| 国产激情一区二区三区| 91精品国产色综合久久不卡电影 | 久久精品免费观看| 欧美精品在线视频| 一区二区三区在线视频播放| 国产精品一二三| 日韩精品一区二区三区中文精品| 亚洲精选视频在线| 99视频国产精品| 国产欧美中文在线| 国产很黄免费观看久久| 精品国产1区2区3区| 奇米影视在线99精品| 欧美一区二区三区小说| 亚洲一区二区三区小说| 色婷婷亚洲一区二区三区| 国产精品视频免费| 成人黄色小视频| 成人免费视频在线观看| www.亚洲人| 亚洲同性gay激情无套| 97精品久久久午夜一区二区三区 | 亚洲福利一区二区三区| 欧美日韩一级视频| 视频一区免费在线观看| 欧美日韩亚洲丝袜制服| 亚洲电影一级片| 欧美电影在线免费观看| 麻豆国产91在线播放| 26uuu久久天堂性欧美| 国产一区欧美二区| 中文字幕一区日韩精品欧美| 99精品在线免费| 亚洲成人资源在线| 欧美一区二区三区的| 免费久久精品视频| 国产丝袜在线精品| 91免费精品国自产拍在线不卡| 亚洲一区二区三区中文字幕在线| 欧美日韩国产欧美日美国产精品| 日本大胆欧美人术艺术动态| 日韩精品专区在线影院重磅| 国产jizzjizz一区二区| 亚洲黄色性网站| 日韩一区二区三区免费看| 国产精品一二三区| 亚洲国产综合色| 精品国产免费人成在线观看| 成人av电影在线网| 婷婷综合在线观看| 国产午夜一区二区三区| 欧美在线观看视频一区二区 | 一区二区中文字幕在线| 欧美视频完全免费看| 国内精品伊人久久久久影院对白| 国产精品视频一二三区| 6080yy午夜一二三区久久| 懂色av一区二区在线播放| 亚洲午夜在线观看视频在线| 久久久久久久综合日本| 欧美吻胸吃奶大尺度电影 | 菠萝蜜视频在线观看一区| 亚洲国产一区二区三区| 国产日产亚洲精品系列| 欧美顶级少妇做爰| 99re这里只有精品6| 久久精品国产77777蜜臀| 一区二区三区中文字幕在线观看| 日韩一二三四区| 欧美三级乱人伦电影| 成人黄色一级视频| 国内精品免费在线观看| 日韩主播视频在线| 亚洲精品videosex极品| 国产精品网曝门| 日韩女优av电影| 欧美日韩精品一区二区三区| 不卡影院免费观看| 欧美天天综合网| 97se亚洲国产综合自在线不卡 | 国产调教视频一区| 日韩欧美一区中文| 欧美日韩激情一区二区| av亚洲产国偷v产偷v自拍| 国产精品一区二区在线看| 琪琪一区二区三区| 日韩不卡在线观看日韩不卡视频| 一区二区视频免费在线观看| 亚洲少妇30p| 自拍视频在线观看一区二区| 亚洲精品成人精品456| 国产欧美精品一区二区三区四区| 欧美mv日韩mv国产网站| 欧美一级xxx| 日韩色视频在线观看| 欧美一级久久久| 日韩你懂的电影在线观看| 日韩一卡二卡三卡| 欧美xxxxx牲另类人与| 日韩精品在线一区二区| 日韩精品一区二区在线观看| 日韩精品中文字幕在线一区| 精品91自产拍在线观看一区| 久久婷婷久久一区二区三区| 国产三级一区二区| 国产精品美女久久久久aⅴ| 国产精品女同互慰在线看| 国产精品久久久久婷婷| 亚洲色图色小说| 亚洲在线免费播放| 青草av.久久免费一区| 精彩视频一区二区三区| 成人18视频日本| 欧美性生活大片视频| 欧美一级久久久| 日本一区二区在线不卡| 亚洲最大成人网4388xx| 日韩国产在线一| 国产91在线观看| 色8久久精品久久久久久蜜| 欧美精品日韩一区| 久久久久国产精品麻豆ai换脸| 国产精品麻豆网站| 亚洲成人在线观看视频| 黄一区二区三区| 91天堂素人约啪| 日韩免费视频一区| 国产精品理伦片| 五月天中文字幕一区二区| 免费高清成人在线| av日韩在线网站| 欧美日韩国产高清一区二区三区 | 国产一区二区三区不卡在线观看| 国产精品99久久久| 欧美性感一类影片在线播放| 日韩欧美黄色影院| 亚洲日本成人在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产suv精品一区二区883| 欧美剧情电影在线观看完整版免费励志电影| 日韩一区国产二区欧美三区| 亚洲欧美视频一区| 韩国一区二区视频|