diff options
author | Jim Hahn <jrh3@att.com> | 2021-07-12 15:25:53 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2021-07-12 17:04:14 -0400 |
commit | 6be3c1abaf5c3eea0b353675835b6d2ce4584fe7 (patch) | |
tree | ad5376e94d48eb518670939823702d18c49b3f11 /models-sim/models-sim-dmaap/src/main/java | |
parent | 886406e003934b83da7a2b538a0574a76fd5dd4d (diff) |
Delete extra simulator docker images
The policy-models-simulator docker image, built from
models-sim/packages, subsumes the functionality of the other simulator
images. Deleted the other images.
This simulator still needs some of the code from the dmaap-sim modules,
so only deleted the code from the latter that is not needed by this
simulator.
Also modified the simulator launch script to use sh instead of bash.
Issue-ID: POLICY-3474
Change-Id: Ie7f69b327a18c3e07f154124ae38975d5e6924f0
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-sim/models-sim-dmaap/src/main/java')
8 files changed, 35 insertions, 526 deletions
diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/DmaapSimException.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/DmaapSimException.java deleted file mode 100644 index aaf8980f8..000000000 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/DmaapSimException.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2019 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.models.sim.dmaap; - -/** - * This exception will be called if an error occurs in the DMaaP simulator. - */ -public class DmaapSimException extends Exception { - private static final long serialVersionUID = -8507246953751956974L; - - /** - * Instantiates a new exception with a message. - * - * @param message the message - */ - public DmaapSimException(final String message) { - super(message); - } - - /** - * Instantiates a new exception with a caused by exception. - * - * @param exp the exception that caused this exception to be thrown - */ - public DmaapSimException(final Exception exp) { - super(exp); - } - - /** - * Instantiates a new exception with a message and a caused by exception. - * - * @param message the message - * @param exp the exception that caused this exception to be thrown - */ - public DmaapSimException(final String message, final Exception exp) { - super(message, exp); - } -} diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/DmaapSimRuntimeException.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/DmaapSimRuntimeException.java deleted file mode 100644 index fe8b7e21b..000000000 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/DmaapSimRuntimeException.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2019 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.models.sim.dmaap; - -/** - * This runtime exception will be called if a runtime error occurs when using the DMaaP simulator. - */ -public class DmaapSimRuntimeException extends RuntimeException { - private static final long serialVersionUID = -8507246953751956974L; - - /** - * Instantiates a new policy pap runtime exception with a message. - * - * @param message the message - */ - public DmaapSimRuntimeException(final String message) { - super(message); - } - - /** - * Instantiates a new runtime exception with a caused by exception. - * - * @param exp the exception that caused this exception to be thrown - */ - public DmaapSimRuntimeException(final Exception exp) { - super(exp); - } - - /** - * Instantiates a new runtime exception with a message and a caused by exception. - * - * @param message the message - * @param exp the exception that caused this exception to be thrown - */ - public DmaapSimRuntimeException(final String message, final Exception exp) { - super(message, exp); - } -} diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterHandler.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterHandler.java deleted file mode 100644 index 7c9f79b77..000000000 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterHandler.java +++ /dev/null @@ -1,85 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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.models.sim.dmaap.parameters; - -import java.io.File; -import org.onap.policy.common.parameters.ValidationResult; -import org.onap.policy.common.utils.coder.Coder; -import org.onap.policy.common.utils.coder.CoderException; -import org.onap.policy.common.utils.coder.StandardCoder; -import org.onap.policy.models.sim.dmaap.DmaapSimException; -import org.onap.policy.models.sim.dmaap.startstop.DmaapSimCommandLineArguments; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * This class handles reading, parsing and validating of DMaaP simulator parameters from JSON files. - */ -public class DmaapSimParameterHandler { - - private static final Logger LOGGER = LoggerFactory.getLogger(DmaapSimParameterHandler.class); - - private final Coder coder = new StandardCoder(); - - /** - * Read the parameters from the parameter file. - * - * @param arguments the arguments passed to DMaaP simulator - * @return the parameters read from the configuration file - * @throws DmaapSimException on parameter exceptions - */ - public DmaapSimParameterGroup getParameters(final DmaapSimCommandLineArguments arguments) throws DmaapSimException { - DmaapSimParameterGroup dmaapSimParameterGroup = null; - - // Read the parameters - try { - // Read the parameters from JSON - var file = new File(arguments.getFullConfigurationFilePath()); - dmaapSimParameterGroup = coder.decode(file, DmaapSimParameterGroup.class); - } catch (final CoderException e) { - final String errorMessage = "error reading parameters from \"" + arguments.getConfigurationFilePath() - + "\"\n" + "(" + e.getClass().getSimpleName() + "):" + e.getMessage(); - LOGGER.error(errorMessage); - throw new DmaapSimException(errorMessage, e); - } - - // The JSON processing returns null if there is an empty file - if (dmaapSimParameterGroup == null) { - final String errorMessage = "no parameters found in \"" + arguments.getConfigurationFilePath() + "\""; - LOGGER.error(errorMessage); - throw new DmaapSimException(errorMessage); - } - - // validate the parameters - final ValidationResult validationResult = dmaapSimParameterGroup.validate(); - if (!validationResult.isValid()) { - String returnMessage = - "validation error(s) on parameters from \"" + arguments.getConfigurationFilePath() + "\"\n"; - returnMessage += validationResult.getResult(); - - LOGGER.error(returnMessage); - throw new DmaapSimException(returnMessage); - } - - return dmaapSimParameterGroup; - } -} diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/RestServerParameters.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/RestServerParameters.java index 41451eb2f..8414d0718 100644 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/RestServerParameters.java +++ b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/RestServerParameters.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. - * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,11 +21,17 @@ package org.onap.policy.models.sim.dmaap.parameters; +import java.util.Properties; import lombok.Getter; +import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties; +import org.onap.policy.common.gson.GsonMessageBodyHandler; import org.onap.policy.common.parameters.ParameterGroupImpl; import org.onap.policy.common.parameters.annotations.Min; import org.onap.policy.common.parameters.annotations.NotBlank; import org.onap.policy.common.parameters.annotations.NotNull; +import org.onap.policy.models.sim.dmaap.rest.CambriaMessageBodyHandler; +import org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1; +import org.onap.policy.models.sim.dmaap.rest.TextMessageBodyHandler; /** * Class to hold all parameters needed for rest server. @@ -42,4 +48,32 @@ public class RestServerParameters extends ParameterGroupImpl { public RestServerParameters() { super(RestServerParameters.class.getSimpleName()); } + + /** + * Creates a set of properties, suitable for building a REST server, from the + * parameters. + * + * @return a set of properties representing the given parameters + */ + public Properties getServerProperties() { + final var props = new Properties(); + props.setProperty(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES, getName()); + + final String svcpfx = + PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + getName(); + + props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_HOST_SUFFIX, getHost()); + props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_PORT_SUFFIX, + Integer.toString(getPort())); + props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_REST_CLASSES_SUFFIX, + DmaapSimRestControllerV1.class.getName()); + props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_MANAGED_SUFFIX, "false"); + props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_SWAGGER_SUFFIX, "false"); + + props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_SERIALIZATION_PROVIDER, + String.join(",", CambriaMessageBodyHandler.class.getName(), + GsonMessageBodyHandler.class.getName(), + TextMessageBodyHandler.class.getName())); + return props; + } } diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/rest/DmaapSimRestServer.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/rest/DmaapSimRestServer.java deleted file mode 100644 index acac1439b..000000000 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/rest/DmaapSimRestServer.java +++ /dev/null @@ -1,82 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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.models.sim.dmaap.rest; - -import java.util.List; -import java.util.Properties; -import org.onap.policy.common.endpoints.http.server.HttpServletServer; -import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance; -import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties; -import org.onap.policy.common.gson.GsonMessageBodyHandler; -import org.onap.policy.common.utils.services.ServiceManagerContainer; -import org.onap.policy.models.sim.dmaap.parameters.RestServerParameters; - -/** - * Class to manage life cycle of DMaaP Simulator rest server. - */ -public class DmaapSimRestServer extends ServiceManagerContainer { - - private final List<HttpServletServer> servers; - - /** - * Constructor for instantiating DmaapSimRestServer. - * - * @param restServerParameters the rest server parameters - */ - public DmaapSimRestServer(final RestServerParameters restServerParameters) { - this.servers = HttpServletServerFactoryInstance.getServerFactory() - .build(getServerProperties(restServerParameters)); - - for (HttpServletServer server : this.servers) { - addAction("REST " + server.getName(), server::start, server::stop); - } - } - - /** - * Creates a set of properties, suitable for building a REST server, from the - * parameters. - * - * @param restServerParameters parameters from which to build the properties - * @return a set of properties representing the given parameters - */ - public static Properties getServerProperties(RestServerParameters restServerParameters) { - final var props = new Properties(); - props.setProperty(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES, restServerParameters.getName()); - - final String svcpfx = - PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + restServerParameters.getName(); - - props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_HOST_SUFFIX, restServerParameters.getHost()); - props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_PORT_SUFFIX, - Integer.toString(restServerParameters.getPort())); - props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_REST_CLASSES_SUFFIX, - DmaapSimRestControllerV1.class.getName()); - props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_MANAGED_SUFFIX, "false"); - props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_SWAGGER_SUFFIX, "false"); - - props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_SERIALIZATION_PROVIDER, - String.join(",", CambriaMessageBodyHandler.class.getName(), - GsonMessageBodyHandler.class.getName(), - TextMessageBodyHandler.class.getName())); - return props; - } -} diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/DmaapSimActivator.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/DmaapSimActivator.java deleted file mode 100644 index 3d4e1c66c..000000000 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/DmaapSimActivator.java +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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.models.sim.dmaap.startstop; - -import org.onap.policy.common.utils.services.ServiceManagerContainer; -import org.onap.policy.models.sim.dmaap.parameters.DmaapSimParameterGroup; -import org.onap.policy.models.sim.dmaap.provider.DmaapSimProvider; -import org.onap.policy.models.sim.dmaap.rest.DmaapSimRestServer; - -/** - * This class activates the DMaaP simulator as a complete service. - */ -public class DmaapSimActivator extends ServiceManagerContainer { - - /** - * Instantiate the activator for the DMaaP simulator as a complete service. - * - * @param dmaapSimParameterGroup the parameters for the DMaaP simulator service - */ - public DmaapSimActivator(final DmaapSimParameterGroup dmaapSimParameterGroup) { - super("DMaaP Simulator"); - - var provider = new DmaapSimProvider(dmaapSimParameterGroup); - DmaapSimProvider.setInstance(provider); - addAction("Sim Provider", provider::start, provider::stop); - - var restServer = new DmaapSimRestServer(dmaapSimParameterGroup.getRestServerParameters()); - addAction("REST server", restServer::start, restServer::stop); - } -} diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/DmaapSimCommandLineArguments.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/DmaapSimCommandLineArguments.java deleted file mode 100644 index 8968a2a8e..000000000 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/DmaapSimCommandLineArguments.java +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021 Nordix Foundation. - * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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.models.sim.dmaap.startstop; - -import org.onap.policy.common.utils.cmd.CommandLineArgumentsHandler; -import org.onap.policy.common.utils.cmd.CommandLineException; -import org.onap.policy.models.sim.dmaap.DmaapSimRuntimeException; - -/** - * This class reads and handles command line parameters for the DMaaP simulator service. - */ -public class DmaapSimCommandLineArguments extends CommandLineArgumentsHandler { - private static final String DMAAP_SIM = "DMaaP simulator"; - - /** - * Construct the options for the CLI editor. - */ - public DmaapSimCommandLineArguments() { - super(Main.class.getName(), DMAAP_SIM); - } - - /** - * Construct the options for the CLI editor and parse in the given arguments. - * - * @param args The command line arguments - */ - public DmaapSimCommandLineArguments(final String[] args) { - this(); - - try { - parse(args); - } catch (final CommandLineException e) { - throw new DmaapSimRuntimeException("parse error on DMaaP simulator parameters", e); - } - } -} diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/Main.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/Main.java deleted file mode 100644 index 9c368e044..000000000 --- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/startstop/Main.java +++ /dev/null @@ -1,142 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021 Nordix Foundation. - * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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.models.sim.dmaap.startstop; - -import java.util.Arrays; -import lombok.Getter; -import org.onap.policy.common.utils.cmd.CommandLineException; -import org.onap.policy.models.sim.dmaap.DmaapSimException; -import org.onap.policy.models.sim.dmaap.DmaapSimRuntimeException; -import org.onap.policy.models.sim.dmaap.parameters.DmaapSimParameterGroup; -import org.onap.policy.models.sim.dmaap.parameters.DmaapSimParameterHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * This class initiates the DMaaP simulator component. - */ -public class Main { - - private static final Logger LOGGER = LoggerFactory.getLogger(Main.class); - - private DmaapSimActivator activator; - @Getter - private DmaapSimParameterGroup parameters; - - /** - * Instantiates the DMaap Simulator service. - * - * @param args the command line arguments - */ - public Main(final String[] args) { - final var argumentString = Arrays.toString(args); - LOGGER.info("Starting DMaaP simulator service with arguments - {}", argumentString); - - // Check the arguments - final var arguments = new DmaapSimCommandLineArguments(); - try { - // The arguments return a string if there is a message to print and we should exit - final String argumentMessage = arguments.parse(args); - if (argumentMessage != null) { - LOGGER.info(argumentMessage); - return; - } - // Validate that the arguments are sane - arguments.validate(); - } catch (final DmaapSimRuntimeException | CommandLineException e) { - LOGGER.error("start of DMaaP simulator service failed", e); - return; - } - - // Read the parameters - try { - parameters = new DmaapSimParameterHandler().getParameters(arguments); - } catch (final Exception e) { - LOGGER.error("start of DMaaP simulator service failed", e); - return; - } - - // Now, create the activator for the DMaaP Simulator service - activator = new DmaapSimActivator(parameters); - - // Start the activator - try { - activator.start(); - } catch (final RuntimeException e) { - LOGGER.error("start of DMaaP simulator service failed, used parameters are {}", Arrays.toString(args), e); - return; - } - - // Add a shutdown hook to shut everything down in an orderly manner - Runtime.getRuntime().addShutdownHook(new DmaapSimShutdownHookClass()); - LOGGER.info("Started DMaaP simulator service"); - } - - /** - * Shut down Execution. - * - * @throws DmaapSimException on shutdown errors - */ - public void shutdown() throws DmaapSimException { - // clear the parameterGroup variable - parameters = null; - - // clear the DMaaP simulator activator - if (activator != null && activator.isAlive()) { - activator.stop(); - } - } - - /** - * The Class DmaapSimShutdownHookClass terminates the DMaaP simulator service when its run method is called. - */ - private class DmaapSimShutdownHookClass extends Thread { - /* - * (non-Javadoc) - * - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - try { - // Shutdown the DMaaP simulator service and wait for everything to stop - shutdown(); - - } catch (final RuntimeException | DmaapSimException e) { - LOGGER.warn("error occured during shut down of the DMaaP simulator service", e); - } - } - } - - /** - * The main method. - * - * @param args the arguments - */ - public static void main(final String[] args) { // NOSONAR - /* - * The arguments are validated by the constructor, thus sonar is disabled. - */ - - new Main(args); - } -} |