2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.onap.aai.dmaap;
22 import org.apache.activemq.ActiveMQConnectionFactory;
23 import org.apache.activemq.command.ActiveMQQueue;
24 import org.json.JSONObject;
25 import org.onap.aai.config.SpringContextAware;
26 import org.onap.aai.util.AAIConfig;
27 import org.springframework.context.ApplicationContext;
28 import org.springframework.jms.connection.CachingConnectionFactory;
29 import org.springframework.jms.core.JmsTemplate;
31 public class JMSProducer implements MessageProducer {
33 private JmsTemplate jmsTemplate;
35 private ApplicationContext applicationContext;
37 public JMSProducer() {
38 if(AAIConfig.get("aai.jms.enable", "true").equals("true")){
39 applicationContext = SpringContextAware.getApplicationContext();
40 if(applicationContext == null){
41 this.jmsTemplate = new JmsTemplate();
42 String activeMqTcpUrl = System.getProperty("activemq.tcp.url", "tcp://localhost:61547");
43 this.jmsTemplate.setConnectionFactory(new CachingConnectionFactory(new ActiveMQConnectionFactory(activeMqTcpUrl)));
44 this.jmsTemplate.setDefaultDestination(new ActiveMQQueue("IN_QUEUE"));
46 jmsTemplate = (JmsTemplate) applicationContext.getBean("jmsTemplate");
51 public void sendMessageToDefaultDestination(JSONObject finalJson) {
52 if(jmsTemplate != null){
53 jmsTemplate.convertAndSend(finalJson.toString());