Browse Source

Merge pull request #5955 from YevhenBondarenko/fix/lwm2m-transport

[3.3.3] fixed lwm2m transport initialization (ordering)
pull/5962/head
Andrew Shvayka 4 years ago
committed by GitHub
parent
commit
6c4cfc5035
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/DefaultLwM2mTransportService.java
  2. 6
      common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/rpc/RpcDownlinkRequestCallbackProxy.java
  3. 5
      common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java

4
common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/DefaultLwM2mTransportService.java

@ -71,7 +71,7 @@ public class DefaultLwM2mTransportService implements LwM2MTransportService {
private LeshanServer server;
@AfterStartUp
@AfterStartUp(order = Integer.MAX_VALUE - 1)
public void init() {
this.server = getLhServer();
/*
@ -83,8 +83,8 @@ public class DefaultLwM2mTransportService implements LwM2MTransportService {
*/
LwM2mTransportCoapResource otaCoapResource = new LwM2mTransportCoapResource(otaPackageDataCache, FIRMWARE_UPDATE_COAP_RESOURCE);
this.server.coap().getServer().add(otaCoapResource);
this.startLhServer();
this.context.setServer(server);
this.startLhServer();
}
private void startLhServer() {

6
common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/rpc/RpcDownlinkRequestCallbackProxy.java

@ -111,7 +111,11 @@ public abstract class RpcDownlinkRequestCallbackProxy<R, T> implements DownlinkR
}
protected void sendRpcReplyOnError(Exception e) {
reply(LwM2MRpcResponseBody.builder().result(ResponseCode.INTERNAL_SERVER_ERROR.getName()).error(e.getMessage()).build());
String error = e.getMessage();
if (error == null) {
error = e.toString();
}
reply(LwM2MRpcResponseBody.builder().result(ResponseCode.INTERNAL_SERVER_ERROR.getName()).error(error).build());
}
}

5
common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java

@ -91,6 +91,7 @@ import org.thingsboard.server.queue.provider.TbQueueProducerProvider;
import org.thingsboard.server.queue.provider.TbTransportQueueFactory;
import org.thingsboard.server.queue.scheduler.SchedulerComponent;
import org.thingsboard.server.queue.usagestats.TbApiUsageClient;
import org.thingsboard.server.queue.util.AfterStartUp;
import org.thingsboard.server.queue.util.TbTransportComponent;
import javax.annotation.PostConstruct;
@ -227,6 +228,10 @@ public class DefaultTransportService implements TransportService {
transportNotificationsConsumer.subscribe(Collections.singleton(tpi));
transportApiRequestTemplate.init();
mainConsumerExecutor = Executors.newSingleThreadExecutor(ThingsBoardThreadFactory.forName("transport-consumer"));
}
@AfterStartUp
private void start() {
mainConsumerExecutor.execute(() -> {
while (!stopped) {
try {

Loading…
Cancel
Save