Commit d2736610e523db5c44f80b101456af3aa5777d37
1 parent
fa0e55f1
added removing registration for onDeviceDelete
Showing
2 changed files
with
21 additions
and
5 deletions
... | ... | @@ -25,7 +25,6 @@ import org.eclipse.leshan.core.node.codec.DefaultLwM2mNodeEncoder; |
25 | 25 | import org.eclipse.leshan.server.californium.LeshanServer; |
26 | 26 | import org.eclipse.leshan.server.californium.LeshanServerBuilder; |
27 | 27 | import org.eclipse.leshan.server.californium.registration.CaliforniumRegistrationStore; |
28 | -import org.eclipse.leshan.server.model.LwM2mModelProvider; | |
29 | 28 | import org.springframework.stereotype.Component; |
30 | 29 | import org.thingsboard.server.cache.ota.OtaPackageDataCache; |
31 | 30 | import org.thingsboard.server.common.data.DataConstants; |
... | ... | @@ -33,7 +32,6 @@ import org.thingsboard.server.queue.util.TbLwM2mTransportComponent; |
33 | 32 | import org.thingsboard.server.transport.lwm2m.config.LwM2MTransportServerConfig; |
34 | 33 | import org.thingsboard.server.transport.lwm2m.secure.TbLwM2MAuthorizer; |
35 | 34 | import org.thingsboard.server.transport.lwm2m.secure.TbLwM2MDtlsCertificateVerifier; |
36 | -import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext; | |
37 | 35 | import org.thingsboard.server.transport.lwm2m.server.store.TbSecurityStore; |
38 | 36 | import org.thingsboard.server.transport.lwm2m.server.uplink.DefaultLwM2MUplinkMsgHandler; |
39 | 37 | import org.thingsboard.server.transport.lwm2m.utils.LwM2mValueConverterImpl; | ... | ... |
... | ... | @@ -28,14 +28,17 @@ import org.eclipse.leshan.core.node.LwM2mObjectInstance; |
28 | 28 | import org.eclipse.leshan.core.node.LwM2mPath; |
29 | 29 | import org.eclipse.leshan.core.node.LwM2mResource; |
30 | 30 | import org.eclipse.leshan.core.observation.Observation; |
31 | +import org.eclipse.leshan.core.request.ExecuteRequest; | |
31 | 32 | import org.eclipse.leshan.core.request.ObserveRequest; |
32 | 33 | import org.eclipse.leshan.core.request.ReadRequest; |
33 | 34 | import org.eclipse.leshan.core.request.WriteCompositeRequest; |
34 | 35 | import org.eclipse.leshan.core.request.WriteRequest; |
36 | +import org.eclipse.leshan.core.response.ExecuteResponse; | |
35 | 37 | import org.eclipse.leshan.core.response.ObserveResponse; |
36 | 38 | import org.eclipse.leshan.core.response.ReadCompositeResponse; |
37 | 39 | import org.eclipse.leshan.core.response.ReadResponse; |
38 | 40 | import org.eclipse.leshan.server.registration.Registration; |
41 | +import org.eclipse.leshan.server.registration.RegistrationStore; | |
39 | 42 | import org.springframework.context.annotation.Lazy; |
40 | 43 | import org.springframework.stereotype.Service; |
41 | 44 | import org.thingsboard.common.util.DonAsynchron; |
... | ... | @@ -74,7 +77,6 @@ import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MCancelObser |
74 | 77 | import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MCancelObserveRequest; |
75 | 78 | import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MDiscoverCallback; |
76 | 79 | import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MDiscoverRequest; |
77 | -import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MExecuteCallback; | |
78 | 80 | import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MExecuteRequest; |
79 | 81 | import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MLatchCallback; |
80 | 82 | import org.thingsboard.server.transport.lwm2m.server.downlink.TbLwM2MObserveCallback; |
... | ... | @@ -147,6 +149,7 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl |
147 | 149 | private final LwM2mClientContext clientContext; |
148 | 150 | private final LwM2mDownlinkMsgHandler defaultLwM2MDownlinkMsgHandler; |
149 | 151 | private final LwM2mVersionedModelProvider modelProvider; |
152 | + private final RegistrationStore registrationStore; | |
150 | 153 | |
151 | 154 | public DefaultLwM2MUplinkMsgHandler(TransportService transportService, |
152 | 155 | LwM2MTransportServerConfig config, |
... | ... | @@ -159,7 +162,8 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl |
159 | 162 | @Lazy LwM2mDownlinkMsgHandler defaultLwM2MDownlinkMsgHandler, |
160 | 163 | LwM2mTransportContext context, |
161 | 164 | TbLwM2MDtlsSessionStore sessionStore, |
162 | - LwM2mVersionedModelProvider modelProvider) { | |
165 | + LwM2mVersionedModelProvider modelProvider, | |
166 | + RegistrationStore registrationStore) { | |
163 | 167 | this.transportService = transportService; |
164 | 168 | this.sessionManager = sessionManager; |
165 | 169 | this.attributesService = attributesService; |
... | ... | @@ -172,6 +176,7 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl |
172 | 176 | this.context = context; |
173 | 177 | this.sessionStore = sessionStore; |
174 | 178 | this.modelProvider = modelProvider; |
179 | + this.registrationStore = registrationStore; | |
175 | 180 | } |
176 | 181 | |
177 | 182 | @PostConstruct |
... | ... | @@ -402,7 +407,20 @@ public class DefaultLwM2MUplinkMsgHandler extends LwM2MExecutorAwareService impl |
402 | 407 | public void onDeviceDelete(DeviceId deviceId) { |
403 | 408 | LwM2mClient client = clientContext.getClientByDeviceId(deviceId.getId()); |
404 | 409 | TbLwM2MExecuteRequest request = TbLwM2MExecuteRequest.builder().versionedId(REBOOT_ID).timeout(clientContext.getRequestTimeout(client)).build(); |
405 | - defaultLwM2MDownlinkMsgHandler.sendExecuteRequest(client, request, new TbLwM2MExecuteCallback(logService, client, REBOOT_ID)); | |
410 | + defaultLwM2MDownlinkMsgHandler.sendExecuteRequest(client, request, new DownlinkRequestCallback<>() { | |
411 | + @Override | |
412 | + public void onSuccess(ExecuteRequest request, ExecuteResponse response) { | |
413 | + } | |
414 | + | |
415 | + @Override | |
416 | + public void onValidationError(String params, String msg) { | |
417 | + } | |
418 | + | |
419 | + @Override | |
420 | + public void onError(String params, Exception e) { | |
421 | + } | |
422 | + }); | |
423 | + registrationStore.removeRegistration(client.getRegistration().getId()); | |
406 | 424 | doUnReg(client.getRegistration(), client); |
407 | 425 | } |
408 | 426 | ... | ... |