Commit 522d392777cb41453a46fd820eee125dfe06072f
1 parent
96d344fa
RPC and MQTT packet size bug fixes
Showing
4 changed files
with
11 additions
and
38 deletions
@@ -54,40 +54,4 @@ | @@ -54,40 +54,4 @@ | ||
54 | </dependency> | 54 | </dependency> |
55 | </dependencies> | 55 | </dependencies> |
56 | 56 | ||
57 | - <build> | ||
58 | - <plugins> | ||
59 | - <plugin> | ||
60 | - <groupId>org.apache.maven.plugins</groupId> | ||
61 | - <artifactId>maven-shade-plugin</artifactId> | ||
62 | - <executions> | ||
63 | - <execution> | ||
64 | - <phase>package</phase> | ||
65 | - <goals> | ||
66 | - <goal>shade</goal> | ||
67 | - </goals> | ||
68 | - <configuration> | ||
69 | - <filters> | ||
70 | - <filter> | ||
71 | - <artifact>*:*</artifact> | ||
72 | - <excludes> | ||
73 | - <exclude>META-INF/*.SF</exclude> | ||
74 | - <exclude>META-INF/*.DSA</exclude> | ||
75 | - <exclude>META-INF/*.RSA</exclude> | ||
76 | - </excludes> | ||
77 | - </filter> | ||
78 | - </filters> | ||
79 | - <transformers> | ||
80 | - <transformer | ||
81 | - implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> | ||
82 | - <manifestEntries> | ||
83 | - <Main-Class>org.thingsboard.client.tools.MqttStressTestTool</Main-Class> | ||
84 | - </manifestEntries> | ||
85 | - </transformer> | ||
86 | - </transformers> | ||
87 | - </configuration> | ||
88 | - </execution> | ||
89 | - </executions> | ||
90 | - </plugin> | ||
91 | - </plugins> | ||
92 | - </build> | ||
93 | </project> | 57 | </project> |
@@ -27,6 +27,7 @@ import org.springframework.http.client.support.HttpRequestWrapper; | @@ -27,6 +27,7 @@ import org.springframework.http.client.support.HttpRequestWrapper; | ||
27 | import org.springframework.web.client.HttpClientErrorException; | 27 | import org.springframework.web.client.HttpClientErrorException; |
28 | import org.springframework.web.client.RestTemplate; | 28 | import org.springframework.web.client.RestTemplate; |
29 | import org.thingsboard.server.common.data.Device; | 29 | import org.thingsboard.server.common.data.Device; |
30 | +import org.thingsboard.server.common.data.id.CustomerId; | ||
30 | import org.thingsboard.server.common.data.id.DeviceId; | 31 | import org.thingsboard.server.common.data.id.DeviceId; |
31 | import org.thingsboard.server.common.data.security.DeviceCredentials; | 32 | import org.thingsboard.server.common.data.security.DeviceCredentials; |
32 | 33 | ||
@@ -76,6 +77,12 @@ public class RestClient implements ClientHttpRequestInterceptor { | @@ -76,6 +77,12 @@ public class RestClient implements ClientHttpRequestInterceptor { | ||
76 | return restTemplate.postForEntity(baseURL + "/api/device", device, Device.class).getBody(); | 77 | return restTemplate.postForEntity(baseURL + "/api/device", device, Device.class).getBody(); |
77 | } | 78 | } |
78 | 79 | ||
80 | + | ||
81 | + public Device assignDevice(CustomerId customerId, DeviceId deviceId) { | ||
82 | + return restTemplate.postForEntity(baseURL + "/api/customer/{customerId}/device/{deviceId}", null, Device.class, | ||
83 | + customerId.toString(), deviceId.toString()).getBody(); | ||
84 | + } | ||
85 | + | ||
79 | public DeviceCredentials getCredentials(DeviceId id) { | 86 | public DeviceCredentials getCredentials(DeviceId id) { |
80 | return restTemplate.getForEntity(baseURL + "/api/device/" + id.getId().toString() + "/credentials", DeviceCredentials.class).getBody(); | 87 | return restTemplate.getForEntity(baseURL + "/api/device/" + id.getId().toString() + "/credentials", DeviceCredentials.class).getBody(); |
81 | } | 88 | } |
@@ -40,6 +40,8 @@ import java.security.cert.CertificateException; | @@ -40,6 +40,8 @@ import java.security.cert.CertificateException; | ||
40 | */ | 40 | */ |
41 | public class MqttTransportServerInitializer extends ChannelInitializer<SocketChannel> { | 41 | public class MqttTransportServerInitializer extends ChannelInitializer<SocketChannel> { |
42 | 42 | ||
43 | + private static final int MAX_PAYLOAD_SIZE = 64 * 1024 * 1024; | ||
44 | + | ||
43 | private final SessionMsgProcessor processor; | 45 | private final SessionMsgProcessor processor; |
44 | private final DeviceService deviceService; | 46 | private final DeviceService deviceService; |
45 | private final DeviceAuthService authService; | 47 | private final DeviceAuthService authService; |
@@ -63,7 +65,7 @@ public class MqttTransportServerInitializer extends ChannelInitializer<SocketCha | @@ -63,7 +65,7 @@ public class MqttTransportServerInitializer extends ChannelInitializer<SocketCha | ||
63 | sslHandler = sslHandlerProvider.getSslHandler(); | 65 | sslHandler = sslHandlerProvider.getSslHandler(); |
64 | pipeline.addLast(sslHandler); | 66 | pipeline.addLast(sslHandler); |
65 | } | 67 | } |
66 | - pipeline.addLast("decoder", new MqttDecoder()); | 68 | + pipeline.addLast("decoder", new MqttDecoder(MAX_PAYLOAD_SIZE)); |
67 | pipeline.addLast("encoder", MqttEncoder.INSTANCE); | 69 | pipeline.addLast("encoder", MqttEncoder.INSTANCE); |
68 | 70 | ||
69 | MqttTransportHandler handler = new MqttTransportHandler(processor, deviceService, authService, adaptor, sslHandler); | 71 | MqttTransportHandler handler = new MqttTransportHandler(processor, deviceService, authService, adaptor, sslHandler); |
@@ -134,7 +134,7 @@ public class GatewaySessionCtx { | @@ -134,7 +134,7 @@ public class GatewaySessionCtx { | ||
134 | JsonObject jsonObj = json.getAsJsonObject(); | 134 | JsonObject jsonObj = json.getAsJsonObject(); |
135 | String deviceName = checkDeviceConnected(jsonObj.get("device").getAsString()); | 135 | String deviceName = checkDeviceConnected(jsonObj.get("device").getAsString()); |
136 | Integer requestId = jsonObj.get("id").getAsInt(); | 136 | Integer requestId = jsonObj.get("id").getAsInt(); |
137 | - String data = jsonObj.get("data").getAsString(); | 137 | + String data = jsonObj.get("data").toString(); |
138 | GatewayDeviceSessionCtx deviceSessionCtx = devices.get(deviceName); | 138 | GatewayDeviceSessionCtx deviceSessionCtx = devices.get(deviceName); |
139 | processor.process(new BasicToDeviceActorSessionMsg(deviceSessionCtx.getDevice(), | 139 | processor.process(new BasicToDeviceActorSessionMsg(deviceSessionCtx.getDevice(), |
140 | new BasicAdaptorToSessionActorMsg(deviceSessionCtx, new ToDeviceRpcResponseMsg(requestId, data)))); | 140 | new BasicAdaptorToSessionActorMsg(deviceSessionCtx, new ToDeviceRpcResponseMsg(requestId, data)))); |