diff options
author | Michael Arrastia <MArrasti@amdocs.com> | 2018-07-13 17:00:13 +0100 |
---|---|---|
committer | Michael Arrastia <MArrasti@amdocs.com> | 2018-07-13 17:00:13 +0100 |
commit | f3ebf3538abbf63d8455d42f259f61dfdbf6ad30 (patch) | |
tree | 0a678dd50c7635e1d1e3a3ceca4eb53baf659ea1 /src/main/java/org/onap/aai/spike/EventPublisherConfiguration.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/EventPublisherConfiguration.java')
-rw-r--r-- | src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java b/src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java new file mode 100644 index 0000000..6e7d26d --- /dev/null +++ b/src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java @@ -0,0 +1,50 @@ +/** + * ============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 org.onap.aai.event.client.DMaaPEventPublisher; +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-publisher.properties") +public class EventPublisherConfiguration { + + //@formatter:off + @Bean + DMaaPEventPublisher dmaapEventPublisher( //NOSONAR + @Value("${event.publisher.host}") String host, + @Value("${event.publisher.topic}") String topic, + @Value("${event.publisher.username}") String username, + @Value("${event.publisher.password}") String password, + @Value("${event.publisher.maxBatchSize}") int maxBatchSize, + @Value("${event.publisher.maxAgeMs}") long maxAgeMs, + @Value("${event.publisher.delayBetweenBatchesMs}") int delayBetweenBatchesMs, + @Value("${event.publisher.transportType}") String transportType) + { + //@formatter:on + return new DMaaPEventPublisher(host, topic, username, password, maxBatchSize, maxAgeMs, delayBetweenBatchesMs, + transportType); + } + +} |