Merge with develop 2.5.5
This commit is contained in:
commit
7b3d903cff
@ -125,7 +125,7 @@ class DefaultTbContext implements TbContext {
|
||||
|
||||
@Override
|
||||
public void enqueue(TbMsg tbMsg, String queueName, Runnable onSuccess, Consumer<Throwable> onFailure) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, queueName, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg, queueName);
|
||||
enqueue(tpi, tbMsg, onFailure, onSuccess);
|
||||
}
|
||||
|
||||
@ -142,46 +142,54 @@ class DefaultTbContext implements TbContext {
|
||||
|
||||
@Override
|
||||
public void enqueueForTellFailure(TbMsg tbMsg, String failureMessage) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg);
|
||||
enqueueForTellNext(tpi, tbMsg, Collections.singleton(TbRelationTypes.FAILURE), failureMessage, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enqueueForTellNext(TbMsg tbMsg, String relationType) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg);
|
||||
enqueueForTellNext(tpi, tbMsg, Collections.singleton(relationType), null, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enqueueForTellNext(TbMsg tbMsg, Set<String> relationTypes) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg);
|
||||
enqueueForTellNext(tpi, tbMsg, relationTypes, null, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enqueueForTellNext(TbMsg tbMsg, String relationType, Runnable onSuccess, Consumer<Throwable> onFailure) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg);
|
||||
enqueueForTellNext(tpi, tbMsg, Collections.singleton(relationType), null, onSuccess, onFailure);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enqueueForTellNext(TbMsg tbMsg, Set<String> relationTypes, Runnable onSuccess, Consumer<Throwable> onFailure) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg);
|
||||
enqueueForTellNext(tpi, tbMsg, relationTypes, null, onSuccess, onFailure);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enqueueForTellNext(TbMsg tbMsg, String queueName, String relationType, Runnable onSuccess, Consumer<Throwable> onFailure) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, queueName, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg, queueName);
|
||||
enqueueForTellNext(tpi, tbMsg, Collections.singleton(relationType), null, onSuccess, onFailure);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enqueueForTellNext(TbMsg tbMsg, String queueName, Set<String> relationTypes, Runnable onSuccess, Consumer<Throwable> onFailure) {
|
||||
TopicPartitionInfo tpi = mainCtx.resolve(ServiceType.TB_RULE_ENGINE, queueName, getTenantId(), tbMsg.getOriginator());
|
||||
TopicPartitionInfo tpi = resolvePartition(tbMsg, queueName);
|
||||
enqueueForTellNext(tpi, tbMsg, relationTypes, null, onSuccess, onFailure);
|
||||
}
|
||||
|
||||
private TopicPartitionInfo resolvePartition(TbMsg tbMsg, String queueName) {
|
||||
return mainCtx.resolve(ServiceType.TB_RULE_ENGINE, queueName, getTenantId(), tbMsg.getOriginator());
|
||||
}
|
||||
|
||||
private TopicPartitionInfo resolvePartition(TbMsg tbMsg) {
|
||||
return resolvePartition(tbMsg, tbMsg.getQueueName());
|
||||
}
|
||||
|
||||
private void enqueueForTellNext(TopicPartitionInfo tpi, TbMsg source, Set<String> relationTypes, String failureMessage, Runnable onSuccess, Consumer<Throwable> onFailure) {
|
||||
RuleChainId ruleChainId = nodeCtx.getSelf().getRuleChainId();
|
||||
RuleNodeId ruleNodeId = nodeCtx.getSelf().getId();
|
||||
|
||||
@ -605,6 +605,8 @@ transport:
|
||||
key_password: "${MQTT_SSL_KEY_PASSWORD:server_key_password}"
|
||||
# Type of the key store
|
||||
key_store_type: "${MQTT_SSL_KEY_STORE_TYPE:JKS}"
|
||||
# Skip certificate validity check for client certificates.
|
||||
skip_validity_check_for_client_cert: "${MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT:false}"
|
||||
# Local CoAP transport parameters
|
||||
coap:
|
||||
# Enable/disable coap transport protocol.
|
||||
|
||||
@ -51,6 +51,10 @@ public class MqttTransportContext extends TransportContext {
|
||||
@Value("${transport.mqtt.netty.max_payload_size}")
|
||||
private Integer maxPayloadSize;
|
||||
|
||||
@Getter
|
||||
@Value("${transport.mqtt.netty.skip_validity_check_for_client_cert:false}")
|
||||
private boolean skipValidityCheckForClientCert;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
private SslHandler sslHandler;
|
||||
|
||||
@ -387,7 +387,9 @@ public class MqttTransportHandler extends ChannelInboundHandlerAdapter implement
|
||||
|
||||
private void processX509CertConnect(ChannelHandlerContext ctx, X509Certificate cert) {
|
||||
try {
|
||||
cert.checkValidity(new Date());
|
||||
if(!context.isSkipValidityCheckForClientCert()){
|
||||
cert.checkValidity();
|
||||
}
|
||||
String strCert = SslUtil.getX509CertificateString(cert);
|
||||
String sha3Hash = EncryptionUtil.getSha3Hash(strCert);
|
||||
transportService.process(DeviceTransportType.MQTT, ValidateDeviceX509CertRequestMsg.newBuilder().setHash(sha3Hash).build(),
|
||||
|
||||
@ -66,6 +66,8 @@ transport:
|
||||
key_password: "${MQTT_SSL_KEY_PASSWORD:server_key_password}"
|
||||
# Type of the key store
|
||||
key_store_type: "${MQTT_SSL_KEY_STORE_TYPE:JKS}"
|
||||
# Skip certificate validity check for client certificates.
|
||||
skip_validity_check_for_client_cert: "${MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT:false}"
|
||||
sessions:
|
||||
inactivity_timeout: "${TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT:300000}"
|
||||
report_timeout: "${TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT:30000}"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user