ServerConfig.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. package org.apache.zookeeper.server;
  19. public class ServerConfig {
  20. private int clientPort;
  21. private String dataDir;
  22. private String dataLogDir;
  23. protected ServerConfig(int port, String dataDir,String dataLogDir) {
  24. this.clientPort = port;
  25. this.dataDir = dataDir;
  26. this.dataLogDir=dataLogDir;
  27. }
  28. protected boolean isStandaloneServer(){
  29. return true;
  30. }
  31. public static int getClientPort(){
  32. assert instance!=null;
  33. return instance.clientPort;
  34. }
  35. public static String getDataDir(){
  36. assert instance!=null;
  37. return instance.dataDir;
  38. }
  39. public static String getDataLogDir(){
  40. assert instance!=null;
  41. return instance.dataLogDir;
  42. }
  43. public static boolean isStandalone(){
  44. assert instance!=null;
  45. return instance.isStandaloneServer();
  46. }
  47. protected static ServerConfig instance=null;
  48. public static void parse(String[] args) throws Exception {
  49. if(instance!=null)
  50. return;
  51. if (args.length != 2) {
  52. throw new IllegalArgumentException("Invalid usage.");
  53. }
  54. try {
  55. instance=new ServerConfig(Integer.parseInt(args[0]),args[1],args[1]);
  56. } catch (NumberFormatException e) {
  57. throw new IllegalArgumentException(args[0] + " is not a valid port number");
  58. }
  59. }
  60. }