2121 * <li>简单的应用程序启动</li>
2222 * <li>开发过程中的调试和验证</li>
2323 * </ul>
24- * </p>
25- *
24+ *
2625 * <p>
2726 * 版本演进:
2827 * <ul>
2928 * <li>1.2.0: 依赖于 {@link KeelInstantRunner},直到 Keel 4.1.0 被废弃</li>
3029 * <li>2.1.0: 重构实现,与之前版本不兼容</li>
3130 * </ul>
32- * </p>
33- *
31+ *
3432 * <p>
3533 * 使用方式:
3634 * <ol>
3735 * <li>继承此类并实现 {@link #launchAsPrivateer()} 方法</li>
3836 * <li>在IDE中通过 {@link #main(String[])} 方法启动,其会调用 {@link #launch()} 方法。注意不要自行重写 main 方法或直接调用 {@link #launch()} 方法。</li>
3937 * <li>可选择性重写 {@link #starting()} 和 {@link #ending()} 方法自定义生命周期</li>
4038 * </ol>
41- * </p>
4239 *
4340 * @since 2.1.0
4441 */
@@ -49,8 +46,7 @@ public abstract class Privateer extends Warship {
4946 * <p>
5047 * 通过反射机制动态创建调用类的实例并启动。
5148 * 这种设计允许子类直接使用 main 方法启动而无需重复编写启动逻辑。
52- * </p>
53- *
49+ *
5450 * @param args 命令行参数(当前未使用)
5551 * @throws ClassNotFoundException 当无法找到调用类时抛出
5652 * @throws NoSuchMethodException 当调用类缺少无参构造函数时抛出
@@ -80,11 +76,9 @@ public static void main(String[] args) throws ClassNotFoundException, NoSuchMeth
8076 * <p>
8177 * 私掠船提供默认实现:使用简单的输出中心,将日志直接输出到控制台,
8278 * 适用于开发和测试环境。
83- * </p>
8479 * <p>
8580 * 子类可以重写此方法以提供自定义的日志记录中心实现。
86- * </p>
87- *
81+ *
8882 * @return 输出类型的事件日志记录中心
8983 */
9084 @ Override
@@ -96,11 +90,9 @@ protected KeelIssueRecordCenter buildIssueRecordCenter() {
9690 * 构建 Vert.x 选项配置。
9791 * <p>
9892 * 私掠船提供默认实现:使用默认的 Vert.x 配置,适用于大多数开发和测试场景。
99- * </p>
10093 * <p>
10194 * 子类可以重写此方法以提供自定义的 Vert.x 配置。
102- * </p>
103- *
95+ *
10496 * @return 默认的 VertxOptions 实例
10597 */
10698 @ Override
@@ -113,10 +105,8 @@ public VertxOptions buildVertxOptions() {
113105 * <p>
114106 * 私掠船提供默认实现:尝试加载 "config.properties" 配置文件。
115107 * 如果文件不存在,操作会静默失败。
116- * </p>
117108 * <p>
118109 * 子类可以重写此方法以实现自定义的本地配置加载逻辑。
119- * </p>
120110 */
121111 @ Override
122112 protected void loadLocalConfiguration () {
@@ -127,11 +117,9 @@ protected void loadLocalConfiguration() {
127117 * 加载远程配置。
128118 * <p>
129119 * 私掠船提供默认实现:不加载任何远程配置,直接返回成功的 Future。
130- * </p>
131120 * <p>
132121 * 子类可以重写此方法以实现自定义的远程配置加载逻辑。
133- * </p>
134- *
122+ *
135123 * @return 表示加载完成的成功 Future
136124 */
137125 @ Override
@@ -149,8 +137,7 @@ protected Future<Void> loadRemoteConfiguration() {
149137 * <li>调用子类实现的 {@link #launchAsPrivateer()}</li>
150138 * <li>无论成功或失败都执行清理工作 {@link #ending()}</li>
151139 * </ol>
152- * </p>
153- *
140+ *
154141 * @return 表示启动完成的 Future
155142 */
156143 @ Override
@@ -171,8 +158,7 @@ protected final Future<Void> launchAsWarship() {
171158 * <p>
172159 * 子类必须实现此方法以定义具体的业务逻辑。
173160 * 此方法在完成基础设施初始化后被调用。
174- * </p>
175- *
161+ *
176162 * @return 表示私掠船启动完成的 Future
177163 */
178164 abstract protected Future <Void > launchAsPrivateer ();
@@ -181,11 +167,9 @@ protected final Future<Void> launchAsWarship() {
181167 * 启动前的准备工作。
182168 * <p>
183169 * 私掠船提供默认实现:记录启动日志并返回成功的 Future。
184- * </p>
185170 * <p>
186171 * 子类可以重写此方法以添加自定义的启动前准备工作。
187- * </p>
188- *
172+ *
189173 * @return 表示准备工作完成的 Future
190174 */
191175 protected Future <Void > starting () {
@@ -198,11 +182,9 @@ protected Future<Void> starting() {
198182 * <p>
199183 * 私掠船提供默认实现:记录结束日志并返回成功的 Future。
200184 * 无论启动成功或失败,此方法都会被调用。
201- * </p>
202185 * <p>
203186 * 子类可以重写此方法以添加自定义的清理逻辑。
204- * </p>
205- *
187+ *
206188 * @return 表示清理工作完成的 Future
207189 */
208190 protected Future <Void > ending () {
0 commit comments