| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import com.dy.aceMw.server.tasks.BusiConstantTask; |
| | | import com.dy.aceMw.server.*; |
| | | import com.dy.aceMw.server.rtuData.RtuDataUnit; |
| | | import com.dy.aceMw.server.rtuData.RtuDataUnitConfigVo; |
| | | import com.dy.aceMw.server.tasks.FromRtuConstantTask; |
| | | import com.dy.common.mw.UnitInterface; |
| | | import com.dy.common.mw.UnitStartedCallbackInterface; |
| | | import com.dy.common.mw.channel.rmi.RmiConfigVo; |
| | |
| | | import com.dy.common.mw.protocol.ProtocolUnit; |
| | | import com.dy.common.mw.support.SupportUnit; |
| | | import com.dy.common.mw.support.SupportUnitConfigVo; |
| | | import com.dy.aceMw.server.AdapterImp_CoreUnit; |
| | | import com.dy.aceMw.server.AdapterImp_ProtocolUnit; |
| | | import com.dy.aceMw.server.AdapterImp_RmiUnit; |
| | | import com.dy.aceMw.server.AdapterImp_TcpUnit; |
| | | import com.dy.aceMw.server.ServerProperties; |
| | | import com.dy.aceMw.server.tasks.ToRtuConstantTask; |
| | | import com.dy.aceMw.server.AdapterImp_SupportUnit; |
| | | import com.dy.aceMw.resource.ResourceUnit; |
| | | import com.dy.aceMw.resource.ResourceUnitConfigVo; |
| | | import com.dy.aceMw.server.AdapterImp_ResourceUnit; |
| | | import com.dy.common.springUtil.SpringContextUtil; |
| | | import com.dy.common.util.ConfigXml; |
| | | import com.dy.common.util.IDLongGenerator; |
| | |
| | | //TCP上行数据时刻缓存时长,当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上数据同时下发数据,因为RTU处理不过来 |
| | | ServerProperties.lastUpDataTimeLive = conf.getSetAttrPlusInt(doc, "config.base", "lastUpDataTimeLive", null, 0, 5, null) * 1000L ; |
| | | //数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1 |
| | | ServerProperties.dbDataIdSuffix = conf.getSetAttrInt(doc, "config.base", "dbDataIdSuffix", null, 1, 9, null); |
| | | ServerProperties.dbDataIdSuffix = conf.getSetAttrInt(doc, "config.base", "dbDataIdSuffix", null, 0, 99, null); |
| | | //上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关 |
| | | ServerProperties.cacheUpDownDataWarnCount = conf.getSetAttrPlusInt(doc, "config.base", "cacheUpDownDataWarnCount", null, 1, null, null) ; |
| | | //上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关 |
| | |
| | | protoAdap.setConfig(protoVo); |
| | | ProtocolUnit protoUnit = ProtocolUnit.getInstance(); |
| | | protoUnit.setAdapter(protoAdap); |
| | | protoUnit.start(new UnitStartedCallbackInterface(){ |
| | | @Override |
| | | public void call(Object obj) { |
| | | } |
| | | protoUnit.start(obj -> { |
| | | }); |
| | | units.add(protoUnit) ; |
| | | |
| | |
| | | supAdap.setConfig(supVo); |
| | | SupportUnit supUnit = SupportUnit.getInstance() ; |
| | | supUnit.setAdapter(supAdap); |
| | | supUnit.start(new UnitStartedCallbackInterface(){ |
| | | @Override |
| | | public void call(Object obj) { |
| | | } |
| | | supUnit.start(obj -> { |
| | | }); |
| | | units.add(supUnit) ; |
| | | |
| | |
| | | //当前支持spring + hibernate |
| | | resUnit.setSpringContext(SpringContextUtil.getApplicationContext()); |
| | | |
| | | resUnit.start(new UnitStartedCallbackInterface(){ |
| | | @Override |
| | | public void call(Object obj) { |
| | | } |
| | | resUnit.start(obj -> { |
| | | }); |
| | | units.add(resUnit) ; |
| | | |
| | |
| | | rmiAdap.setConfig(rmiVo); |
| | | RmiUnit rmiUnit = RmiUnit.getInstance(); |
| | | rmiUnit.setAdapter(rmiAdap); |
| | | rmiUnit.start(new UnitStartedCallbackInterface(){ |
| | | @Override |
| | | public void call(Object obj) { |
| | | } |
| | | rmiUnit.start(obj -> { |
| | | }); |
| | | RmiSvUrl = "[ip]:" + rmiVo.port + "/" + rmiVo.context ; |
| | | units.add(rmiUnit) ; |
| | | } |
| | | |
| | | |
| | | ///////////////// |
| | | //RTU上行数据处理模块 |
| | | RtuDataUnitConfigVo rducVo = new RtuDataUnitConfigVo(); |
| | | AdapterImp_RtuDataUnit rducAdap = new AdapterImp_RtuDataUnit(); |
| | | rducAdap.setConfig(rducVo); |
| | | RtuDataUnit rducUnit = RtuDataUnit.getInstance(); |
| | | rducUnit.setAdapter(rducAdap); |
| | | rducUnit.start(obj -> { |
| | | }); |
| | | units.add(rducUnit) ; |
| | | |
| | | |
| | | |
| | | // /////////////// |
| | | // 核心 |
| | |
| | | CoreUnit coreUnit = CoreUnit.getInstance(); |
| | | coreUnit.setAdapter(coreAdap); |
| | | CoreUnit.addConstantTask(new ToRtuConstantTask()); |
| | | CoreUnit.addConstantTask(new BusiConstantTask()); |
| | | coreUnit.start(new UnitStartedCallbackInterface(){ |
| | | @Override |
| | | public void call(Object obj) { |
| | | } |
| | | CoreUnit.addConstantTask(new FromRtuConstantTask()); |
| | | coreUnit.start(obj -> { |
| | | }); |
| | | units.add(coreUnit) ; |
| | | |
| | |
| | | tcpAdap.setConfig(tcpVo); |
| | | TcpUnit tcpUnit = TcpUnit.getInstance(); |
| | | tcpUnit.setAdapter(tcpAdap); |
| | | tcpUnit.start(new UnitStartedCallbackInterface(){ |
| | | @Override |
| | | public void call(Object obj) { |
| | | } |
| | | tcpUnit.start(obj -> { |
| | | }); |
| | | TcpSvUrl = "[ip]:" + tcpVo.port ; |
| | | units.add(tcpUnit) ; |