001 /**
002 *
003 * Copyright 2004 Protique Ltd
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 *
017 **/
018 package org.activemq.broker.impl;
019
020 import org.activemq.ActiveMQConnection;
021 import org.activemq.broker.BrokerContainer;
022
023 import javax.jms.JMSException;
024
025 /**
026 * A simple command line tool which runs a JMS Message Broker on the command line
027 *
028 * @version $Revision: 1.1.1.1 $
029 */
030 public class Main {
031
032 /**
033 * run the Message Broker as a standalone application
034 *
035 * @param args
036 */
037 public static void main(String args[]) {
038 try {
039 String url = ActiveMQConnection.DEFAULT_BROKER_URL;
040 if (args.length > 0) {
041 url = args[0];
042 }
043
044 BrokerContainer container = new BrokerContainerImpl();
045 container.addConnector(url);
046
047 if (args.length > 1) {
048 container.addNetworkConnector(args[1]);
049 }
050
051 container.start();
052
053 // lets wait until we're killed.
054 Object lock = new Object();
055 synchronized (lock) {
056 lock.wait();
057 }
058 }
059 catch (JMSException e) {
060 System.out.println("Caught: " + e);
061 e.printStackTrace();
062 Exception le = e.getLinkedException();
063 System.out.println("Reason: " + le);
064 if (le != null) {
065 le.printStackTrace();
066 }
067 }
068 catch (Exception e) {
069 System.out.println("Caught: " + e);
070 e.printStackTrace();
071 }
072 }
073 }