介绍
用于控制数据的输入动作。主要包括两种类型:主动获取型输入、被动接受性输入。
主动获取型输入
介绍
- OneReaderInput:只执行一次的输入
- PeriodAcquireReaderInput:周期性执行的输入
所需参数:
period[必选]: 执行周期值。n>0
delay[必选]:延迟执行值。n>=0
timeUnit[必选]:周期值、延迟值的单位。可选:SECONDS、MINUTES、HOURS、DAYS
- QuartzReaderInput: 基于Quartz的定时输入
所需参数:
jobName[可选]: 任务名称
triggerName[可选]:调度名称
triggerCron[必选]:Quartz Cron 表达式
delaySeconds[必选]:延迟执行。单位: 秒。默认 0
自定义扩展
- 继承抽象类:
com.starblues.rope.core.input.AbstractReaderInput
- 实现方法说明:```java
initialize():初始化时被调用run(): 启动运行时该输入。用于调用读取者中读取数据id(): 定义该输入的id(全局输入唯一)name(): 定义该输入的名称describe(): 定义该输入的描述configParameter(): 返回该输入所需的参数实现类。如果没有参数,则返回 nullstartAfter(): 启动之前的操作
3. 实现该输入的管理器
继承 `com.starblues.rope.core.common.manager.AbstractManager<T>` , 实现方法说明:
```java
<T>: 泛型T,为当前管理器所管理的输入类,也就是2步骤所实现的输入类。
getLogger():返回当前类的日志对象
name():返回管理器的名称
toStart(T t):启动时调用,用于启动所管理的输入的实现
toStop(T t):停止时调用,用于停止所管理的输入的实现
- 新增3步骤实现的管理器在输入管理器工厂
com.starblues.rope.core.input.manager.InputManagerFactory
的initialize
处,新增3步骤实现的输入管理器。
被动接受型输入
介绍
- 继承:
com.starblues.rope.core.input.support.accept.AbstractAcceptInput
类
实现方法说明:
initialize()[可重写覆盖]:初始化
toStart(Consumer consumer):启动该输入时的调用。参数 Consumer 用于将获取的数据消费到系统中
toStop():停止的实现,用于关闭自有的一些资源实现
configParameter():返回该输入所需的参数实现类。如果没有参数,则返回 null
- 将该实现类的头部新增Spring注解
@Component
携带转换器
- 继承:
com.starblues.rope.core.input.support.accept.AbstractAcceptConverterInput<T>
类
实现方法说明:
<T>: 泛型T,配置的转换器所转换源数据的类型。与sourceMessageType一致
sourceMessageType():转换器所转换源数据的类型
initialize()[可重写覆盖]:初始化
customConvert(T sourceMessage):自定义转换,如果使用者没有配置转换器,则调用该方法转换数据
toStart(Consumer consumer):启动该输入时的调用。参数 Consumer 用于将获取的数据消费到系统中
toStop():停止的实现,用于关闭自有的一些资源实现
configParameter():返回该输入所需的参数实现类。如果没有参数,则返回 null
- 将该实现类的头部新增Spring注解
@Component