代码是HornetQ中示例程序的client-side-load-balancing项目。public class ClientSideLoadBalancingExample extends HornetQExample
{
   public static void main(final String[] args)
   {
      new ClientSideLoadBalancingExample().run(args);
   }
}
 
被调用代码如下public abstract class HornetQExample
{
   protected static Logger log = Logger.getLogger(HornetQExample.class.getName());   private Process[] servers;   protected boolean failure = false;   protected String serverClasspath;   protected String serverProps;   public abstract boolean runExample() throws Exception;   private boolean logServerOutput;   protected String[] configs;
   
   protected boolean runServer;   protected void run(final String[] configs)
   {
      String runServerProp = System.getProperty("hornetq.example.runServer");
      String logServerOutputProp = System.getProperty("hornetq.example.logserveroutput");
      serverClasspath = System.getProperty("hornetq.example.server.classpath");
      runServer = runServerProp == null ? true : Boolean.valueOf(runServerProp);
      logServerOutput = logServerOutputProp == null ? false :  Boolean.valueOf(logServerOutputProp);
      serverProps = System.getProperty("hornetq.example.server.args");
      if (System.getProperty("hornetq.example.server.override.args") != null)
      {
         serverProps = System.getProperty("hornetq.example.server.override.args");
      }
      System.out.println("serverProps = " + serverProps);
      HornetQExample.log.info("hornetq.example.runServer is " + runServer);      this.configs = configs;      try
      {
         if (runServer)
         {
            startServers();
         }         if (!runExample())
         {
            failure = true;
         }
         System.out.println("example complete");
      }
      catch (Throwable e)
      {
         failure = true;
         e.printStackTrace();
      }
      finally
      {
         if (runServer)
         {
            try
            {
               stopServers();
            }
            catch (Throwable throwable)
            {
               throwable.printStackTrace();
            }
         }
      }
      reportResultAndExit();
   }这上面的System.getProperty(“*********”)让我迷惑好久,都不知道是什么意思!
不知道跟项目路径有没有关系。
Java

解决方案 »

  1.   

    这上面的System.getProperty(“*********”)让我迷惑好久,都不知道是什么意思!
    取得系统的环境变量,例如System.getProperty("PATH") 会返回 PATH的值
      

  2.   

    回一楼的String runServerProp = System.getProperty("hornetq.example.runServer");
          String logServerOutputProp = System.getProperty("hornetq.example.logserveroutput");
          serverClasspath = System.getProperty("hornetq.example.server.classpath");系统没有hornetq.example.runServer这样的变量啊!这可能是什么呢?
      

  3.   

    在jdk帮助文档中表示获取指定键指示的系统属性,参数表示系统属性的名称。
      

  4.   

    哎,找到值了。
    原来hornetq.example.runServer这些字符串的值是通过ANT设置的。