liusheng
4 天以前 0bbbd746e8c39d91ad7b47a4e36e29ab972dc98c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.ruoyi.datacollection.api;
 
/**
 * 数据采集模块被关闭({@code sys_config: datacollection.enabled=false})时,
 * 门面调用抛出的异常。
 *
 * <h3>为什么需要它(而不是复用 {@code ServiceException})</h3>
 * {@code ServiceException} 是 <b>final</b> 的(见 {@code com.ruoyi.common.exception.ServiceException}),
 * 既不能继承、也没有实现任何接口,因此无法"精确捕获"。
 * 调用方({@code ruoyi-quartz} 的 {@code RyTask})需要把
 * <b>"模块被关掉"</b>和<b>"采集过程真的报错"</b>区分开:
 * 前者只打一条 WARN 说明本轮跳过,后者要按原有错误口径记录 ——
 * 用 {@code ServiceException} 或比对 message 文本都会失准。
 *
 * <h3>为什么放在模块的 api 包,而不是 ruoyi-common</h3>
 * 模板模块把 {@code TemplateModuleDisabledException} 放进 ruoyi-common,
 * 是因为它的调用点散在 4 个模块里。本模块目前只有 {@code ruoyi-quartz} 一个调用方,
 * 而 {@code ruoyi-quartz} 已经依赖本模块,所以放在 {@code api} 包即可(api 是本模块唯一对外包)。
 * 将来若出现不依赖本模块的调用方,再下沉到 ruoyi-common。
 *
 * @see DataCollectionFacade#requireEnabled()
 */
public class DataCollectionModuleDisabledException extends RuntimeException {
 
    private static final long serialVersionUID = 1L;
 
    /**
     * 关闭提示(与 {@code sys_config} 里那行配置的 remark 口径一致)
     */
    public static final String DISABLED_MESSAGE =
            "数据采集模块未启用(参数配置 datacollection.enabled=false),本次采集已跳过";
 
    public DataCollectionModuleDisabledException(String message) {
        super(message);
    }
 
    public DataCollectionModuleDisabledException(String message, Throwable cause) {
        super(message, cause);
    }
}