最近在测试一些问题,需要启动两个网关,所以使用到自定义配置管理,示例代码如下:
bridgeBootstrap = new BridgeBootstrap();
ConfigFactory.init(
ConfigFactory.getBridgeConfigManager("application-self-1.conf"),
selfDefineDeviceConfigManager);
private static DeviceConfigManager selfDefineDeviceConfigManager = new DeviceConfigManager() {
@Override
public DeviceIdentity getDeviceIdentity(String originalIdentity) {
System.out.println("DeviceConfigManager, originalIdentity:====="+originalIdentity);
DeviceIdentity deviceIdentity = null;
if("demoDevice1"==originalIdentity){
deviceIdentity = new DeviceIdentity("aaaaaaa","subdevice1","a2fccb945ba4f5b5a8e50b");
}else if("demoDevice2"==originalIdentity){
deviceIdentity = new DeviceIdentity("aaaaaaa","subdevice2","db496509fbcd438cc03c2");
}
return deviceIdentity;
}
@Override
public String getOriginalIdentity(String productKey, String deviceName) {
System.out.println("DeviceConfigManager, productKey:====="+productKey);
System.out.println("DeviceConfigManager, deviceName:====="+deviceName);
String originalIdentity = null;
if(deviceName == "subdevice1"){
originalIdentity = "demoDevice1";
}else if(deviceName == "subdevice2"){
originalIdentity = "demoDevice2";
}
return originalIdentity;
}
};
网关信息保存在application-self-1.conf中,挂载的子设备需要在DeviceConfigManager中动态获取。