Commit b0c6ce9f985279a65d2e8d22ed5f4f604f1df147

Authored by Viacheslav Klimov
Committed by Andrew Shvayka
1 parent d44adcfe

Fix circular reference for CoapClientContext and CoapTransportContext

... ... @@ -22,6 +22,7 @@ import org.eclipse.californium.core.coap.Response;
22 22 import org.eclipse.californium.core.observe.ObserveRelation;
23 23 import org.eclipse.californium.core.server.resources.CoapExchange;
24 24 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
  25 +import org.springframework.context.annotation.Lazy;
25 26 import org.springframework.stereotype.Service;
26 27 import org.thingsboard.server.coapserver.CoapServerContext;
27 28 import org.thingsboard.server.common.data.DataConstants;
... ... @@ -74,7 +75,6 @@ import static org.eclipse.californium.core.coap.Message.NONE;
74 75
75 76 @Slf4j
76 77 @Service
77   -@RequiredArgsConstructor
78 78 @ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.coap.enabled}'=='true')")
79 79 public class DefaultCoapClientContext implements CoapClientContext {
80 80
... ... @@ -86,6 +86,16 @@ public class DefaultCoapClientContext implements CoapClientContext {
86 86 private final ConcurrentMap<DeviceId, TbCoapClientState> clients = new ConcurrentHashMap<>();
87 87 private final ConcurrentMap<String, TbCoapClientState> clientsByToken = new ConcurrentHashMap<>();
88 88
  89 + public DefaultCoapClientContext(CoapServerContext config, @Lazy CoapTransportContext transportContext,
  90 + TransportService transportService, TransportDeviceProfileCache profileCache,
  91 + PartitionService partitionService) {
  92 + this.config = config;
  93 + this.transportContext = transportContext;
  94 + this.transportService = transportService;
  95 + this.profileCache = profileCache;
  96 + this.partitionService = partitionService;
  97 + }
  98 +
89 99 @Override
90 100 public boolean registerAttributeObservation(TbCoapClientState clientState, String token, CoapExchange exchange) {
91 101 return registerFeatureObservation(clientState, token, exchange, FeatureType.ATTRIBUTES);
... ...