Tutorial4.rst 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. Tutorial 4 注解式分布式静态配置文件和静态配置项(最佳实践)
  2. ===========================================================
  3. 配置类
  4. ------
  5. 定义
  6. ~~~~
  7. ::
  8. package com.example.disconf.demo.config;
  9. import com.baidu.disconf.client.common.annotations.DisconfFile;
  10. import com.baidu.disconf.client.common.annotations.DisconfFileItem;
  11. /**
  12. * 静态 配置文件 示例
  13. *
  14. * @author liaoqiqi
  15. * @version 2014-6-17
  16. */
  17. @DisconfFile(filename = "static.properties")
  18. public class StaticConfig {
  19. private static int staticVar;
  20. @DisconfFileItem(name = "staticVar", associateField = "staticVar")
  21. public static int getStaticVar() {
  22. return staticVar;
  23. }
  24. public static void setStaticVar(int staticVar) {
  25. StaticConfig.staticVar = staticVar;
  26. }
  27. }
  28. 使用
  29. ~~~~
  30. ::
  31. package com.example.disconf.demo.service;
  32. import com.baidu.disconf.client.common.annotations.DisconfItem;
  33. import com.example.disconf.demo.config.StaticConfig;
  34. /**
  35. * 使用静态配置文件的示例<br/>
  36. * Plus <br/>
  37. * 静态配置项 使用示例
  38. *
  39. * @author liaoqiqi
  40. * @version 2014-8-14
  41. */
  42. public class SimpleStaticService {
  43. private static int staticItem = 56;
  44. /**
  45. *
  46. * @return
  47. */
  48. public static int getStaticFileData() {
  49. return StaticConfig.getStaticVar();
  50. }
  51. }
  52. ::
  53. LOGGER.info("static file data:"
  54. + SimpleStaticService.getStaticFileData());
  55. 配置项
  56. ------
  57. 定义
  58. ~~~~
  59. ::
  60. package com.example.disconf.demo.service;
  61. import com.baidu.disconf.client.common.annotations.DisconfItem;
  62. import com.example.disconf.demo.config.StaticConfig;
  63. /**
  64. * 使用静态配置文件的示例<br/>
  65. * Plus <br/>
  66. * 静态配置项 使用示例
  67. *
  68. * @author liaoqiqi
  69. * @version 2014-8-14
  70. */
  71. public class SimpleStaticService {
  72. private static int staticItem = 56;
  73. /**
  74. *
  75. * @return
  76. */
  77. public static int getStaticFileData() {
  78. return StaticConfig.getStaticVar();
  79. }
  80. @DisconfItem(key = "staticItem")
  81. public static int getStaticItem() {
  82. return staticItem;
  83. }
  84. public static void setStaticItem(int staticItem) {
  85. SimpleStaticService.staticItem = staticItem;
  86. }
  87. }
  88. 使用
  89. ~~~~
  90. ::
  91. LOGGER.info("static item data:"
  92. + SimpleStaticService.getStaticItem());