From a3482504ead21591265027629da810dac2290603 Mon Sep 17 00:00:00 2001 From: FrancescoFioraEst Date: Thu, 24 Jun 2021 16:30:23 +0100 Subject: Refactor participant event handling Issue-ID: POLICY-3268 Change-Id: I02b03fd9f9f4399e045e766baace203f42e678cf Signed-off-by: FrancescoFioraEst --- .../main/parameters/ClRuntimeParameterGroup.java | 7 ++- .../runtime/supervision/SupervisionHandler.java | 36 ++++++++----- .../comm/AbstractParticipantPublisher.java | 62 ++++++++++++++++++++++ ...ParticipantControlLoopStateChangePublisher.java | 39 ++------------ .../ParticipantControlLoopUpdatePublisher.java | 38 +------------ .../comm/ParticipantStateChangePublisher.java | 39 ++------------ .../resources/parameters/CommissioningConfig.json | 4 ++ .../InstantiationConfigParametersStd.json | 7 ++- .../InstantiationConfigParameters_InvalidName.json | 22 ++++---- .../InstantiationConfigParameters_sim.json | 48 ++++++++++------- .../resources/parameters/MinimumParametersH2.json | 44 +++++++++------ .../test/resources/parameters/TestParameters.json | 4 ++ .../parameters/TestParametersMariaDB.json | 4 ++ .../src/test/resources/parameters/Unreadable.json | 4 ++ 14 files changed, 191 insertions(+), 167 deletions(-) create mode 100644 runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/AbstractParticipantPublisher.java diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java index ba25a6dad..d1fa31261 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/main/parameters/ClRuntimeParameterGroup.java @@ -20,10 +20,8 @@ package org.onap.policy.clamp.controlloop.runtime.main.parameters; -import java.util.List; import javax.validation.constraints.NotBlank; import lombok.Getter; -import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; import org.onap.policy.common.endpoints.parameters.RestServerParameters; import org.onap.policy.common.endpoints.parameters.TopicParameterGroup; import org.onap.policy.common.parameters.ParameterGroupImpl; @@ -43,6 +41,11 @@ public class ClRuntimeParameterGroup extends ParameterGroupImpl { private ParticipantParameters participantParameters; private TopicParameterGroup topicParameterGroup; + private long supervisionScannerIntervalSec; + private long participantStateChangeIntervalSec; + private long participantClUpdateIntervalSec; + private long participantClStateChangeIntervalSec; + /** * Create the Control Loop parameter group. * diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java index 7c7dc3a69..511185da1 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandler.java @@ -78,6 +78,11 @@ public class SupervisionHandler extends ControlLoopHandler { private ParticipantControlLoopUpdatePublisher controlLoopUpdatePublisher; private ParticipantControlLoopStateChangePublisher controlLoopStateChangePublisher; + private long supervisionScannerIntervalSec; + private long participantStateChangeIntervalSec; + private long participantClUpdateIntervalSec; + private long participantClStateChangeIntervalSec; + // Database scanner private SupervisionScanner scanner; @@ -112,6 +117,12 @@ public class SupervisionHandler extends ControlLoopHandler { () -> participantProvider = new ParticipantProvider(getDatabaseProviderParameters()), () -> participantProvider = null); // @formatter:on + + supervisionScannerIntervalSec = clRuntimeParameterGroup.getSupervisionScannerIntervalSec(); + participantStateChangeIntervalSec = clRuntimeParameterGroup.getParticipantClStateChangeIntervalSec(); + participantClUpdateIntervalSec = clRuntimeParameterGroup.getParticipantClUpdateIntervalSec(); + participantClStateChangeIntervalSec = clRuntimeParameterGroup.getParticipantClStateChangeIntervalSec(); + } /** @@ -129,8 +140,7 @@ public class SupervisionHandler extends ControlLoopHandler { if (CollectionUtils.isEmpty(controlLoopIdentifierList)) { // This is just to force throwing of the exception in certain circumstances. - exceptionOccured(Response.Status.NOT_ACCEPTABLE, - "The list of control loops for supervision is empty"); + exceptionOccured(Response.Status.NOT_ACCEPTABLE, "The list of control loops for supervision is empty"); } for (ToscaConceptIdentifier controlLoopId : controlLoopIdentifierList) { @@ -153,21 +163,23 @@ public class SupervisionHandler extends ControlLoopHandler { @Override public void startAndRegisterPublishers(List topicSinks) { - // TODO: Use a parameter for the timeout // @formatter:off this.publisherManager = new ServiceManager() .addAction("Supervision scanner", - () -> scanner = new SupervisionScanner(controlLoopProvider, 10000), - () -> scanner = null) + () -> scanner = + new SupervisionScanner(controlLoopProvider, supervisionScannerIntervalSec), + () -> scanner.close()) .addAction("ControlLoopUpdate publisher", - () -> controlLoopUpdatePublisher = new ParticipantControlLoopUpdatePublisher(topicSinks, -1), + () -> controlLoopUpdatePublisher = + new ParticipantControlLoopUpdatePublisher(topicSinks, participantClUpdateIntervalSec), () -> controlLoopUpdatePublisher.terminate()) .addAction("StateChange Publisher", - () -> stateChangePublisher = new ParticipantStateChangePublisher(topicSinks, 10000), + () -> stateChangePublisher = + new ParticipantStateChangePublisher(topicSinks, participantStateChangeIntervalSec), () -> stateChangePublisher.terminate()) .addAction("ControlLoopStateChange Publisher", () -> controlLoopStateChangePublisher = - new ParticipantControlLoopStateChangePublisher(topicSinks, -1), + new ParticipantControlLoopStateChangePublisher(topicSinks, participantClStateChangeIntervalSec), () -> controlLoopStateChangePublisher.terminate()); // @formatter:on try { @@ -222,7 +234,7 @@ public class SupervisionHandler extends ControlLoopHandler { * @throws PfModelException on accessing models in the database * @throws ControlLoopException on supervision errors */ - private void superviseControlLoop(ControlLoop controlLoop) throws ControlLoopException, PfModelException { + private void superviseControlLoop(ControlLoop controlLoop) throws ControlLoopException, PfModelException { switch (controlLoop.getOrderedState()) { case UNINITIALISED: superviseControlLoopUninitialization(controlLoop); @@ -351,8 +363,7 @@ public class SupervisionHandler extends ControlLoopHandler { private void superviseParticipant(ParticipantStatus participantStatusMessage) throws PfModelException, ControlLoopException { if (participantStatusMessage.getParticipantId() == null) { - exceptionOccured(Response.Status.NOT_FOUND, - "Participant ID on PARTICIPANT_STATUS message is null"); + exceptionOccured(Response.Status.NOT_FOUND, "Participant ID on PARTICIPANT_STATUS message is null"); } List participantList = @@ -378,8 +389,7 @@ public class SupervisionHandler extends ControlLoopHandler { } monitoringProvider = MonitoringHandler.getInstance().getMonitoringProvider(); - monitoringProvider.createParticipantStatistics( - List.of(participantStatusMessage.getParticipantStatistics())); + monitoringProvider.createParticipantStatistics(List.of(participantStatusMessage.getParticipantStatistics())); } private void superviseControlLoops(ParticipantStatus participantStatusMessage) diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/AbstractParticipantPublisher.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/AbstractParticipantPublisher.java new file mode 100644 index 000000000..c54856101 --- /dev/null +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/AbstractParticipantPublisher.java @@ -0,0 +1,62 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2021 Nordix Foundation. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.clamp.controlloop.runtime.supervision.comm; + +import java.util.List; +import lombok.Getter; +import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantMessage; +import org.onap.policy.common.endpoints.event.comm.TopicSink; +import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient; + +public abstract class AbstractParticipantPublisher { + + private final TopicSinkClient topicSinkClient; + + @Getter + private final long intervalSec; + + /** + * Constructor. + * + * @param topicSinks the topic sinks + * @param intervalSec time interval to send ParticipantStateChange messages + */ + protected AbstractParticipantPublisher(final List topicSinks, long intervalSec) { + this.topicSinkClient = new TopicSinkClient(topicSinks.get(0)); + this.intervalSec = intervalSec; + } + + /** + * Terminates the current timer. + */ + public void terminate() { + // Nothing to terminate, this publisher does not have a timer + } + + /** + * Method to send Participant message to participants on demand. + * + * @param participantMessage the Participant message + */ + public void send(final E participantMessage) { + topicSinkClient.send(participantMessage); + } +} diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopStateChangePublisher.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopStateChangePublisher.java index c9c8ab851..c9d0a4fe4 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopStateChangePublisher.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopStateChangePublisher.java @@ -23,17 +23,12 @@ package org.onap.policy.clamp.controlloop.runtime.supervision.comm; import java.util.List; import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantControlLoopStateChange; import org.onap.policy.common.endpoints.event.comm.TopicSink; -import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * This class is used to send ParticipantControlLoopStateChangePublisher messages to participants on DMaaP. */ -public class ParticipantControlLoopStateChangePublisher { - private static final Logger LOGGER = LoggerFactory.getLogger(ParticipantControlLoopStateChangePublisher.class); - - private TopicSinkClient topicSinkClient; +public class ParticipantControlLoopStateChangePublisher + extends AbstractParticipantPublisher { /** * Constructor for instantiating ParticipantControlLoopStateChangePublisherPublisher. @@ -42,34 +37,6 @@ public class ParticipantControlLoopStateChangePublisher { * @param interval time interval to send ParticipantControlLoopStateChangePublisher messages */ public ParticipantControlLoopStateChangePublisher(final List topicSinks, final long interval) { - // TODO: Should not be dependent on the order of topic sinks in the config - this.topicSinkClient = new TopicSinkClient(topicSinks.get(0)); - } - - /** - * Terminates the current timer. - */ - public void terminate() { - // This is a user initiated message and doesn't need a timer. - } - - /** - * Get the current time interval used by the timer task. - * - * @return interval the current time interval - */ - public long getInterval() { - // This is a user initiated message and doesn't need a timer. - return -1; - } - - /** - * Method to send ParticipantControlLoopStateChangePublisher status message to participants on demand. - * - * @param controlLoopStateChange the ParticipantControlLoopStateChangePublisher message - */ - public void send(final ParticipantControlLoopStateChange controlLoopStateChange) { - topicSinkClient.send(controlLoopStateChange); - LOGGER.debug("Sent ParticipantControlLoopStateChange to Participants - {}", controlLoopStateChange); + super(topicSinks, interval); } } diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopUpdatePublisher.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopUpdatePublisher.java index 3c5d230c5..fbbd95fbc 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopUpdatePublisher.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantControlLoopUpdatePublisher.java @@ -23,17 +23,11 @@ package org.onap.policy.clamp.controlloop.runtime.supervision.comm; import java.util.List; import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantControlLoopUpdate; import org.onap.policy.common.endpoints.event.comm.TopicSink; -import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * This class is used to send ParticipantControlLoopUpdate messages to participants on DMaaP. */ -public class ParticipantControlLoopUpdatePublisher { - private static final Logger LOGGER = LoggerFactory.getLogger(ParticipantControlLoopUpdatePublisher.class); - - private TopicSinkClient topicSinkClient; +public class ParticipantControlLoopUpdatePublisher extends AbstractParticipantPublisher { /** * Constructor for instantiating ParticipantUpdatePublisher. @@ -42,34 +36,6 @@ public class ParticipantControlLoopUpdatePublisher { * @param interval time interval to send ParticipantControlLoopUpdate messages */ public ParticipantControlLoopUpdatePublisher(final List topicSinks, final long interval) { - // TODO: Should not be dependent on the order of topic sinks in the config - this.topicSinkClient = new TopicSinkClient(topicSinks.get(0)); - } - - /** - * Terminates the current timer. - */ - public void terminate() { - // This is a user initiated message and doesn't need a timer. - } - - /** - * Get the current time interval used by the timer task. - * - * @return interval the current time interval - */ - public long getInterval() { - // This is a user initiated message and doesn't need a timer. - return -1; - } - - /** - * Method to send ParticipantControlLoopUpdate status message to participants on demand. - * - * @param participantControlLoopUpdate the ParticipantControlLoopUpdate message - */ - public void send(final ParticipantControlLoopUpdate participantControlLoopUpdate) { - topicSinkClient.send(participantControlLoopUpdate); - LOGGER.debug("Sent ParticipantControlLoopUpdate to Participants - {}", participantControlLoopUpdate); + super(topicSinks, interval); } } diff --git a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantStateChangePublisher.java b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantStateChangePublisher.java index 099039115..20cdea6f4 100644 --- a/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantStateChangePublisher.java +++ b/runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantStateChangePublisher.java @@ -23,17 +23,11 @@ package org.onap.policy.clamp.controlloop.runtime.supervision.comm; import java.util.List; import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantStateChange; import org.onap.policy.common.endpoints.event.comm.TopicSink; -import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * This class is used to send ParticipantStateChange messages to participants on DMaaP. */ -public class ParticipantStateChangePublisher { - private static final Logger LOGGER = LoggerFactory.getLogger(ParticipantStateChangePublisher.class); - - private TopicSinkClient topicSinkClient; +public class ParticipantStateChangePublisher extends AbstractParticipantPublisher { /** * Constructor for instantiating ParticipantStateChangePublisher. @@ -41,34 +35,7 @@ public class ParticipantStateChangePublisher { * @param topicSinks the topic sinks * @param interval time interval to send ParticipantStateChange messages */ - public ParticipantStateChangePublisher(final List topicSinks, final long interval) { - // TODO: Should not be dependent on the order of topic sinks in the config - this.topicSinkClient = new TopicSinkClient(topicSinks.get(0)); - } - - /** - * Terminates the current timer. - */ - public void terminate() { - // Nothing to terminate, this publisher does not have a timer - } - - /** - * Get the current time interval used by the timer task. - * - * @return interval the current time interval - */ - public long getInterval() { - return -1; - } - - /** - * Method to send ParticipantStateChange status message to participants on demand. - * - * @param participantStateChange the ParticipantStateChange message - */ - public void send(final ParticipantStateChange participantStateChange) { - topicSinkClient.send(participantStateChange); - LOGGER.debug("Sent ParticipantStateChange to Participants - {}", participantStateChange); + public ParticipantStateChangePublisher(List topicSinks, long interval) { + super(topicSinks, interval); } } diff --git a/runtime-controlloop/src/test/resources/parameters/CommissioningConfig.json b/runtime-controlloop/src/test/resources/parameters/CommissioningConfig.json index bda9da6a1..762e3f793 100644 --- a/runtime-controlloop/src/test/resources/parameters/CommissioningConfig.json +++ b/runtime-controlloop/src/test/resources/parameters/CommissioningConfig.json @@ -1,5 +1,9 @@ { "name": "CommissioningGroup", + "supervisionScannerIntervalSec" : 1000, + "participantStateChangeIntervalSec" : 1000, + "participantClUpdateIntervalSec" : 1000, + "participantClStateChangeIntervalSec" : 1000, "restServerParameters": { "host": "127.0.0.1", "port": 6969, diff --git a/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParametersStd.json b/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParametersStd.json index 410c35684..3d5a7dfca 100644 --- a/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParametersStd.json +++ b/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParametersStd.json @@ -1,8 +1,13 @@ { "name": "ControlLoopRuntimeGroup", + "supervisionScannerIntervalSec": 1000, + "participantStateChangeIntervalSec": 1000, + "participantClUpdateIntervalSec": 1000, + "participantClStateChangeIntervalSec": 1000, "restServerParameters": { "host": "0.0.0.0", - "port": ${port}, + "port": ${port + }, "userName": "healthcheck", "password": "zb!XztG34", "https": false, diff --git a/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_InvalidName.json b/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_InvalidName.json index b0c322cb9..944bc770d 100644 --- a/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_InvalidName.json +++ b/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_InvalidName.json @@ -1,13 +1,17 @@ { - "name":" ", - "restServerParameters": { - "host": "127.0.0.1", - "port": 6969, - "userName": "admin", - "password": "password", - "https": false, - "aaf": false - }, + "name": " ", + "supervisionScannerIntervalSec": 1000, + "participantStateChangeIntervalSec": 1000, + "participantClUpdateIntervalSec": 1000, + "participantClStateChangeIntervalSec": 1000, + "restServerParameters": { + "host": "127.0.0.1", + "port": 6969, + "userName": "admin", + "password": "password", + "https": false, + "aaf": false + }, "pdpParameters": { "heartBeatMs": 1, "updateParameters": { diff --git a/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_sim.json b/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_sim.json index 0977da9ad..47cb74838 100644 --- a/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_sim.json +++ b/runtime-controlloop/src/test/resources/parameters/InstantiationConfigParameters_sim.json @@ -1,13 +1,17 @@ { "name": "Instantiation", - "restServerParameters": { - "host": "127.0.0.1", - "port": 6969, - "userName": "admin", - "password": "password", - "https": false, - "aaf": false - }, + "supervisionScannerIntervalSec": 1000, + "participantStateChangeIntervalSec": 1000, + "participantClUpdateIntervalSec": 1000, + "participantClStateChangeIntervalSec": 1000, + "restServerParameters": { + "host": "127.0.0.1", + "port": 6969, + "userName": "admin", + "password": "password", + "https": false, + "aaf": false + }, "pdpParameters": { "heartBeatMs": 10, "updateParameters": { @@ -29,15 +33,23 @@ "persistenceUnit": "PolicyMariaDb" }, "topicParameterGroup": { - "topicSources" : [{ - "topic" : "INSTANTIATION", - "servers" : [ "localhost:6845" ], - "topicCommInfrastructure" : "dmaap" - }], - "topicSinks" : [{ - "topic" : "INSTANTIATION", - "servers" : [ "localhost:6845" ], - "topicCommInfrastructure" : "dmaap" - }] + "topicSources": [ + { + "topic": "INSTANTIATION", + "servers": [ + "localhost:6845" + ], + "topicCommInfrastructure": "dmaap" + } + ], + "topicSinks": [ + { + "topic": "INSTANTIATION", + "servers": [ + "localhost:6845" + ], + "topicCommInfrastructure": "dmaap" + } + ] } } diff --git a/runtime-controlloop/src/test/resources/parameters/MinimumParametersH2.json b/runtime-controlloop/src/test/resources/parameters/MinimumParametersH2.json index cce0ab5ee..2be642943 100644 --- a/runtime-controlloop/src/test/resources/parameters/MinimumParametersH2.json +++ b/runtime-controlloop/src/test/resources/parameters/MinimumParametersH2.json @@ -1,10 +1,14 @@ { - "name":"PapGroup", - "restServerParameters":{ - "host":"0.0.0.0", - "port":6969, - "userName":"healthcheck", - "password":"zb!XztG34" + "name": "PapGroup", + "supervisionScannerIntervalSec": 1000, + "participantStateChangeIntervalSec": 1000, + "participantClUpdateIntervalSec": 1000, + "participantClStateChangeIntervalSec": 1000, + "restServerParameters": { + "host": "0.0.0.0", + "port": 6969, + "userName": "healthcheck", + "password": "zb!XztG34" }, "pdpParameters": { "heartBeatMs": 1, @@ -27,15 +31,23 @@ "persistenceUnit": "PdpGroupTest" }, "topicParameterGroup": { - "topicSources" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "message-router" ], - "topicCommInfrastructure" : "dmaap" - }], - "topicSinks" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "message-router" ], - "topicCommInfrastructure" : "dmaap" - }] + "topicSources": [ + { + "topic": "POLICY-PDP-PAP", + "servers": [ + "message-router" + ], + "topicCommInfrastructure": "dmaap" + } + ], + "topicSinks": [ + { + "topic": "POLICY-PDP-PAP", + "servers": [ + "message-router" + ], + "topicCommInfrastructure": "dmaap" + } + ] } } diff --git a/runtime-controlloop/src/test/resources/parameters/TestParameters.json b/runtime-controlloop/src/test/resources/parameters/TestParameters.json index 9fbcfb28c..9bcd764cb 100644 --- a/runtime-controlloop/src/test/resources/parameters/TestParameters.json +++ b/runtime-controlloop/src/test/resources/parameters/TestParameters.json @@ -1,5 +1,9 @@ { "name": "ControlLoopRuntimeGroup", + "supervisionScannerIntervalSec": 1000, + "participantStateChangeIntervalSec": 1000, + "participantClUpdateIntervalSec": 1000, + "participantClStateChangeIntervalSec": 1000, "restServerParameters": { "host": "0.0.0.0", "port": 6969, diff --git a/runtime-controlloop/src/test/resources/parameters/TestParametersMariaDB.json b/runtime-controlloop/src/test/resources/parameters/TestParametersMariaDB.json index 529557eab..3a009f8dd 100644 --- a/runtime-controlloop/src/test/resources/parameters/TestParametersMariaDB.json +++ b/runtime-controlloop/src/test/resources/parameters/TestParametersMariaDB.json @@ -1,5 +1,9 @@ { "name": "ControlLoopRuntimeGroup", + "supervisionScannerIntervalSec": 1000, + "participantStateChangeIntervalSec": 1000, + "participantClUpdateIntervalSec": 1000, + "participantClStateChangeIntervalSec": 1000, "restServerParameters": { "host": "0.0.0.0", "port": 6969, diff --git a/runtime-controlloop/src/test/resources/parameters/Unreadable.json b/runtime-controlloop/src/test/resources/parameters/Unreadable.json index 1c1e93897..0ea56eb5d 100644 --- a/runtime-controlloop/src/test/resources/parameters/Unreadable.json +++ b/runtime-controlloop/src/test/resources/parameters/Unreadable.json @@ -1,5 +1,9 @@ { "name": "ControlLoopRuntimeGroup", + "supervisionScannerIntervalSec": 1000, + "participantStateChangeIntervalSec": 1000, + "participantClUpdateIntervalSec": 1000, + "participantClStateChangeIntervalSec": 1000, "restServerParameters": { "host": "0.0.0.0", "port": 6969, -- cgit 1.2.3-korg