Merge pull request #5955 from YevhenBondarenko/fix/lwm2m-transport
[3.3.3] fixed lwm2m transport initialization (ordering)
This commit is contained in:
		
						commit
						6c4cfc5035
					
				@ -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() {
 | 
			
		||||
 | 
			
		||||
@ -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());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user