yeg
6 天以前 a04222c873e5e55f48c8d33b5c0bc46fa524ac8d
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
41
package com.battery.business.service.impl;
 
import com.battery.device.api.DeviceAdapter;
import com.battery.device.api.registry.AdapterInstanceConfig;
import com.battery.device.api.registry.DeviceAdapterFactory;
import com.battery.business.mapper.TDeviceIngestRecordMapper;
 
/**
 * 按存储形态 {@code PUSH_INGEST} 构造读落地表的适配器实例(ADR-0065)。
 *
 * <p>这个形态没有厂商连接:落地表就在业务库里,读写都走业务数据源与 Mapper,
 * 所以工厂不需要凭据,装配不会因为"忘了放口令"失败。凭据(接收端点令牌)只在接收端点上校验。
 */
public final class PushIngestAdapterFactory implements DeviceAdapterFactory
{
    private final TDeviceIngestRecordMapper records;
 
    public PushIngestAdapterFactory(TDeviceIngestRecordMapper records)
    {
        this.records = records;
    }
 
    /** 返回本工厂负责的存储形态编码 PUSH_INGEST。 */
    @Override
    public String adapterType()
    {
        return PushIngestAdapter.ADAPTER_TYPE;
    }
 
    /**
     * 按登记的实例配置构造读落地表的适配器。
     *
     * @param config 实例配置,含编码、时区、轮询周期与来源形态配置
     * @return 读落地表的推式来源适配器
     */
    @Override
    public DeviceAdapter create(AdapterInstanceConfig config)
    {
        return new PushIngestAdapter(config, records);
    }
}