diff options
author | 2018-07-13 17:00:13 +0100 | |
---|---|---|
committer | 2018-07-13 17:00:13 +0100 | |
commit | f3ebf3538abbf63d8455d42f259f61dfdbf6ad30 (patch) | |
tree | 0a678dd50c7635e1d1e3a3ceca4eb53baf659ea1 /src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java | |
parent | 7d3dcdbff807ba1facb84f94ac39ff91bf410b29 (diff) |
Move XML based Spring configuration to Java
- The original externalised Spring XML-based configuration deployed to:
/opt/app/spike-service/dynamic/conf/spike-beans.xml
has been replaced with Spring Java based configuration.
- Event consumer and publisher configuration is now in property files.
This now allows obfuscation of passwords.
- Bean creation now allows pre-processing the topic properties.
For example, the password can now be de-obfuscated before it is
passed into the bean constructor.
Change-Id: I5c265dca266b0dcbb562ca1b391080fe237b1e64
Issue-ID: AAI-1377
Signed-off-by: Michael Arrastia <MArrasti@amdocs.com>
Diffstat (limited to 'src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java')
-rw-r--r-- | src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java b/src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java new file mode 100644 index 0000000..e45288a --- /dev/null +++ b/src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java @@ -0,0 +1,53 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 Amdocs + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.spike; + +import java.net.MalformedURLException; +import org.onap.aai.event.client.DMaaPEventConsumer; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +@Configuration +@PropertySource("file:${CONFIG_HOME}/event-consumer.properties") +public class EventConsumerConfiguration { + + //@formatter:off + @Bean + DMaaPEventConsumer dmaapEventConsumer( //NOSONAR + @Value("${event.consumer.host}") String host, + @Value("${event.consumer.topic}") String topic, + @Value("${event.consumer.username}") String username, + @Value("${event.consumer.password}") String password, + @Value("${event.consumer.consumerGroup}") String consumerGroup, + @Value("${event.consumer.consumerId}") String consumerId, + @Value("${event.consumer.timeoutMs}") int timeoutMs, + @Value("${event.consumer.messageLimit}") int messageLimit, + @Value("${event.consumer.transportType}") String transportType, + @Value("${event.consumer.protocol}") String protocol) throws MalformedURLException + { + //@formatter:on + return new DMaaPEventConsumer(host, topic, username, password, consumerGroup, consumerId, timeoutMs, + messageLimit, transportType, protocol, null); + } + +} |