fixed NPE in RuleNOdeActorMessageProcessor

This commit is contained in:
YevhenBondarenko 2024-09-13 16:26:26 +02:00
parent 6e79672b97
commit 788b33007d
2 changed files with 5 additions and 4 deletions

View File

@ -43,6 +43,7 @@ import org.thingsboard.server.gen.transport.TransportProtos;
@Slf4j
public class RuleNodeActorMessageProcessor extends ComponentMsgProcessor<RuleNodeId> {
private static final String UNKNOWN_NAME = "Unknown";
private final String ruleChainName;
private final TbApiUsageReportClient apiUsageClient;
private final DefaultTbContext defaultCtx;
@ -57,7 +58,7 @@ public class RuleNodeActorMessageProcessor extends ComponentMsgProcessor<RuleNod
this.ruleChainName = ruleChainName;
this.ruleNode = systemContext.getRuleChainService().findRuleNodeById(tenantId, entityId);
this.defaultCtx = new DefaultTbContext(systemContext, ruleChainName, new RuleNodeCtx(tenantId, parent, self, ruleNode));
this.info = new RuleNodeInfo(ruleNodeId, ruleChainName, ruleNode != null ? ruleNode.getName() : "Unknown");
this.info = new RuleNodeInfo(ruleNodeId, ruleChainName, ruleNode != null ? ruleNode.getName() : UNKNOWN_NAME);
}
@Override
@ -75,7 +76,7 @@ public class RuleNodeActorMessageProcessor extends ComponentMsgProcessor<RuleNod
public void onUpdate(TbActorCtx context) throws Exception {
RuleNode newRuleNode = systemContext.getRuleChainService().findRuleNodeById(tenantId, entityId);
if (isMyNodePartition(newRuleNode)) {
this.info = new RuleNodeInfo(entityId, ruleChainName, newRuleNode != null ? newRuleNode.getName() : "Unknown");
this.info = new RuleNodeInfo(entityId, ruleChainName, newRuleNode != null ? newRuleNode.getName() : UNKNOWN_NAME);
boolean restartRequired = state != ComponentLifecycleState.ACTIVE ||
!(ruleNode.getType().equals(newRuleNode.getType()) && ruleNode.getConfiguration().equals(newRuleNode.getConfiguration()));
this.ruleNode = newRuleNode;
@ -167,7 +168,7 @@ public class RuleNodeActorMessageProcessor extends ComponentMsgProcessor<RuleNod
@Override
public String getComponentName() {
return ruleNode.getName();
return ruleNode != null ? ruleNode.getName() : UNKNOWN_NAME;
}
private TbNode initComponent(RuleNode ruleNode) throws Exception {

View File

@ -240,7 +240,7 @@ public final class TbActorMailbox implements TbActorCtx {
highPriorityMsgs.forEach(msg -> msg.onTbActorStopped(stopReason));
normalPriorityMsgs.forEach(msg -> msg.onTbActorStopped(stopReason));
} catch (Throwable t) {
log.warn("[{}] Failed to destroy actor: {}", selfId, t);
log.warn("[{}] Failed to destroy actor: ", selfId, t);
}
});
}