diff --git a/src/main/java/com/iot/modbus_rtcp/netty/SyncPriorityChannel.java b/src/main/java/com/iot/modbus_rtcp/netty/SyncPriorityChannel.java index 40e4877..5f47cee 100644 --- a/src/main/java/com/iot/modbus_rtcp/netty/SyncPriorityChannel.java +++ b/src/main/java/com/iot/modbus_rtcp/netty/SyncPriorityChannel.java @@ -2,6 +2,7 @@ package com.iot.modbus_rtcp.netty; import com.iot.modbus_rtcp.dto.CommandTypeComparable; import com.iot.modbus_rtcp.dto.ModbusCommandDto; +import com.iot.modbus_rtcp.utils.HexUtil; import io.netty.channel.ChannelPromise; import io.netty.channel.socket.SocketChannel; import lombok.Getter; @@ -140,6 +141,7 @@ public class SyncPriorityChannel implements Runnable { } public void setCollectQueue() { - this.collectQueue = "/modbus/device/" + this.identifier + "/collect"; +// this.collectQueue = "/modbus/device/" + this.identifier + "/collect"; + this.collectQueue = "/modbus/collect/" + HexUtil.hashPartition(this.identifier, 10); } } diff --git a/src/main/java/com/iot/modbus_rtcp/utils/HexUtil.java b/src/main/java/com/iot/modbus_rtcp/utils/HexUtil.java index c7bb3a3..f3359ca 100644 --- a/src/main/java/com/iot/modbus_rtcp/utils/HexUtil.java +++ b/src/main/java/com/iot/modbus_rtcp/utils/HexUtil.java @@ -22,6 +22,10 @@ public class HexUtil { return sb.toString().trim().toUpperCase(); } + public static int hashPartition(String key, int partition) { + return key.hashCode() % partition; + } + public static void main(String[] args) { System.out.println(hexStringToBytes("0D")); System.out.println(new byte[]{(byte) Integer.parseInt("0D", 16)});