diff --git a/queue-api/pom.xml b/queue-api/pom.xml
index 9c4bb4c..8b9bf9c 100644
--- a/queue-api/pom.xml
+++ b/queue-api/pom.xml
@@ -25,7 +25,7 @@
com.cisco.oss.foundation.queue
queue-api
queue-api
- 1.1.1-1-SNAPSHOT
+ 2.0.0-1-SNAPSHOT
This project defines common api for queue api for foundation runtime software
https://github.com/foundation-runtime/communication/tree/master/queue-api
@@ -82,15 +82,33 @@
-
- com.cisco.oss.foundation
- configuration-api
- 1.0.2-1
+
+ org.springframework
+ spring-beans
+ ${spring-version}
+ provided
+
+
+ org.springframework
+ spring-context
+ ${spring-version}
+ provided
- com.cisco.oss.foundation
- monitoring-api
- 1.0.2-1
+ org.slf4j
+ slf4j-api
+ 1.7.21
+ provided
+
diff --git a/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageDispatcher.java b/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageDispatcher.java
index 6aeeb46..d50d62d 100644
--- a/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageDispatcher.java
+++ b/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageDispatcher.java
@@ -16,10 +16,12 @@
package com.cisco.oss.foundation.message;
-import com.cisco.oss.foundation.configuration.ConfigurationFactory;
-import org.apache.commons.configuration.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -27,6 +29,7 @@
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+@Component
abstract class AbstractMessageDispatcher implements MessageDispatcher {
private static final Logger LOGGER = LoggerFactory.getLogger(MessageDispatcher.class);
@@ -36,13 +39,18 @@ abstract class AbstractMessageDispatcher implements MessageDispatcher {
private ExecutorService executorService;
private CapacityEnsurableLinkedBlockingQueue blockingWaitingQueue;
+ @Autowired
+ private Environment environment;
+
+ @Value("${"+MessageConstants.QUEUE_SIZE_PROPERTY+"}")
+ private int maxThreadPoolSize=0;
+
+ @Value("${"+MessageConstants.WAITING_QUEUE_SIZE_PROPERTY+"}")
+ private int waitingQueueSize=0;
+
public AbstractMessageDispatcher(ConcurrentMessageHandler concurrentMessageHandler){
this.concurrentMessageHandler = concurrentMessageHandler;
- Configuration configuration = ConfigurationFactory.getConfiguration();
- int maxThreadPoolSize = configuration.getInt(MessageConstants.QUEUE_SIZE_PROPERTY);
- int waitingQueueSize = configuration.getInt(MessageConstants.WAITING_QUEUE_SIZE_PROPERTY);
-
waitingList = new CopyOnWriteArrayList();
try {
if (waitingQueueSize > 0){
diff --git a/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageHandler.java b/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageHandler.java
index d52e56e..9abd88d 100644
--- a/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageHandler.java
+++ b/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageHandler.java
@@ -16,18 +16,12 @@
package com.cisco.oss.foundation.message;
-import com.cisco.oss.foundation.configuration.ConfigurationFactory;
-import com.cisco.oss.foundation.monitoring.CommunicationInfo;
-import com.cisco.oss.foundation.monitoring.services.ServiceDetails;
-import org.apache.commons.configuration.Configuration;
-
/**
* Created by Yair Ogen on 15/06/2014.
*/
public abstract class AbstractMessageHandler implements MessageHandler {
private String consumerName;
- private ServiceDetails serviceDetails = new ServiceDetails(getServiceDescription(),consumerName,getProtocol(),-1);
public AbstractMessageHandler(String consumerName){
this.consumerName = consumerName;
@@ -35,24 +29,12 @@ public AbstractMessageHandler(String consumerName){
// @Override
public void preMessageProcessing(Message message) {
- if(isMonitoringEnabled()){
- CommunicationInfo.INSTANCE.transactionStarted(serviceDetails,consumerName);
- }
}
// @Override
public void postMessageProcessing(Message message) {
- if(isMonitoringEnabled()){
- CommunicationInfo.INSTANCE.transactionFinished(serviceDetails,consumerName,false, "N/A");
- }
}
- private boolean isMonitoringEnabled() {
- Configuration configuration = ConfigurationFactory.getConfiguration();
- Configuration subset = configuration.subset(consumerName);
- boolean isMonitoringEnabled = subset.getBoolean("queue.isMonitoringEnabled",false);
- return isMonitoringEnabled;
- }
public abstract String getServiceDescription();
diff --git a/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageProducer.java b/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageProducer.java
index bbc44b9..0e7b985 100644
--- a/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageProducer.java
+++ b/queue-api/src/main/java/com/cisco/oss/foundation/message/AbstractMessageProducer.java
@@ -16,11 +16,6 @@
package com.cisco.oss.foundation.message;
-import com.cisco.oss.foundation.configuration.ConfigurationFactory;
-import com.cisco.oss.foundation.monitoring.CommunicationInfo;
-import com.cisco.oss.foundation.monitoring.serverconnection.ServerConnectionDetails;
-import org.apache.commons.configuration.Configuration;
-
/**
* Created by Yair Ogen on 16/06/2014.
*/
@@ -28,7 +23,6 @@ public abstract class AbstractMessageProducer implements MessageProducer {
protected String producerName;
protected String queueName = "";
- private ServerConnectionDetails serverConnectionDetails = new ServerConnectionDetails(producerName,getProducerImpl(), "N/A", -1, -1);
public AbstractMessageProducer(String producerName){
this.producerName = producerName;
@@ -36,24 +30,12 @@ public AbstractMessageProducer(String producerName){
@Override
public void postSendMessage() {
- if (isMonitoringEnabled()) {
- CommunicationInfo.INSTANCE.transactionStarted(serverConnectionDetails,queueName);
- }
}
@Override
public void preSendMessage() {
- if (isMonitoringEnabled()) {
- CommunicationInfo.INSTANCE.transactionFinished(serverConnectionDetails,queueName, false, "");
- }
}
- private boolean isMonitoringEnabled() {
- Configuration configuration = ConfigurationFactory.getConfiguration();
- Configuration subset = configuration.subset(producerName);
- boolean isMonitoringEnabled = subset.getBoolean("queue.isMonitoringEnabled",false);
- return isMonitoringEnabled;
- }
public abstract String getProducerImpl();
}
diff --git a/queue-api/src/main/java/com/cisco/oss/foundation/message/ArrayMessageDispatcher.java b/queue-api/src/main/java/com/cisco/oss/foundation/message/ArrayMessageDispatcher.java
index 48cf396..fda465d 100644
--- a/queue-api/src/main/java/com/cisco/oss/foundation/message/ArrayMessageDispatcher.java
+++ b/queue-api/src/main/java/com/cisco/oss/foundation/message/ArrayMessageDispatcher.java
@@ -18,8 +18,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+@Component
class ArrayMessageDispatcher extends AbstractMessageDispatcher {
private static final Logger LOGGER = LoggerFactory.getLogger(ArrayMessageDispatcher.class);
diff --git a/queue-api/src/main/java/com/cisco/oss/foundation/message/ConfigurationMessageIdentifier.java b/queue-api/src/main/java/com/cisco/oss/foundation/message/ConfigurationMessageIdentifier.java
index 9431151..da12049 100644
--- a/queue-api/src/main/java/com/cisco/oss/foundation/message/ConfigurationMessageIdentifier.java
+++ b/queue-api/src/main/java/com/cisco/oss/foundation/message/ConfigurationMessageIdentifier.java
@@ -16,19 +16,26 @@
package com.cisco.oss.foundation.message;
-import com.cisco.oss.foundation.configuration.ConfigurationFactory;
-import org.apache.commons.configuration.Configuration;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Component;
+@Component
public class ConfigurationMessageIdentifier implements MessageIdentifier {
public static final String MESSAGE_IDENTIFIER_PROPERTY = "messageHandling.messageIdentifierProperty";
- private final String identifierProperty;
+
+
+ @Autowired
+ private Environment environment;
+
+ @Value("${"+MESSAGE_IDENTIFIER_PROPERTY+"}")
+ private String identifierProperty=null;
public ConfigurationMessageIdentifier() {
- Configuration config = ConfigurationFactory.getConfiguration();
- identifierProperty = config.getString(MESSAGE_IDENTIFIER_PROPERTY);
}
public String getIdentifier(Message message) {
diff --git a/queue-api/src/main/java/com/cisco/oss/foundation/message/LockMessageDispatcher.java b/queue-api/src/main/java/com/cisco/oss/foundation/message/LockMessageDispatcher.java
index 3ae3134..cf1c163 100644
--- a/queue-api/src/main/java/com/cisco/oss/foundation/message/LockMessageDispatcher.java
+++ b/queue-api/src/main/java/com/cisco/oss/foundation/message/LockMessageDispatcher.java
@@ -16,6 +16,8 @@
package com.cisco.oss.foundation.message;
+import org.springframework.stereotype.Component;
+
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -28,6 +30,7 @@
* @author yglass
*
*/
+@Component
public class LockMessageDispatcher extends AbstractMessageDispatcher {
//private static final Logger LOGGER = LoggerFactory.getLogger(LockMessageDispatcher.class);
diff --git a/queue-api/src/main/resources/configSchema.xml b/queue-api/src/main/resources/configSchema.xml
deleted file mode 100644
index 9c75289..0000000
--- a/queue-api/src/main/resources/configSchema.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/queue-rabbitmq/pom.xml b/queue-rabbitmq/pom.xml
index 7778b5e..349dc88 100644
--- a/queue-rabbitmq/pom.xml
+++ b/queue-rabbitmq/pom.xml
@@ -24,7 +24,7 @@
com.cisco.oss.foundation.queue
queue-rabbitmq
queue-rabbitmq
- 1.5.3-2-SNAPSHOT
+ 2.0.0-1-SNAPSHOT
This project is a rabbitmq implementation for the queue-api library.
https://github.com/foundation-runtime/communication/tree/master/queue-rabbitmq
@@ -47,10 +47,7 @@
1.0.1-5
- 4.1.0
- 1.0.2-1
- 1.0.2-1
- 1.0.3-1
+ 3.6.0
scm:git:git@github.com:foundation-runtime/communication.git
@@ -88,23 +85,7 @@
${project.groupId}
queue-api
- 1.1.1-0
-
-
- com.cisco.oss.foundation
- configuration-lib
- ${configuration-lib-version}
-
-
- com.cisco.oss.foundation
- logging-api
- ${logging-api-version}
-
-
- org.hornetq
- hornetq-server
- 2.4.4.Final
- test
+ 2.0.0-1-SNAPSHOT
com.rabbitmq
@@ -150,18 +131,5 @@
${logging-log4j-version}
test
-
- com.cisco.oss.foundation
- http-client-jetty
- 0.0.0-8
- test
-
-
- com.cisco.oss.foundation
- configuration-lib
- ${configuration-lib-version}
- tests
- test
-
diff --git a/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQConcurrentMessageHandler.java b/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQConcurrentMessageHandler.java
index 6138c23..a588202 100644
--- a/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQConcurrentMessageHandler.java
+++ b/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQConcurrentMessageHandler.java
@@ -19,6 +19,7 @@
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -27,6 +28,7 @@
* Basic abstract handler that exposes the foundation message handler but also implements silently the RabbitMQ message handler
* Created by Yair Ogen on 24/04/2014.
*/
+@Component
public abstract class AbstractRabbitMQConcurrentMessageHandler extends AbstractRabbitMQMessageHandler implements ConcurrentMessageHandler{
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractRabbitMQConcurrentMessageHandler.class);
diff --git a/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQMessageHandler.java b/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQMessageHandler.java
index 317f539..f532756 100644
--- a/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQMessageHandler.java
+++ b/queue-rabbitmq/src/main/java/com/cisco/oss/foundation/message/AbstractRabbitMQMessageHandler.java
@@ -19,6 +19,7 @@
import com.cisco.oss.foundation.flowcontext.FlowContextFactory;
import com.rabbitmq.client.*;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
import java.io.IOException;
@@ -26,6 +27,7 @@
* Basic abstract handler that exposes the foundation message handler but also implements silently the RabbitMQ message handler
* Created by Yair Ogen on 24/04/2014.
*/
+@Component
public abstract class AbstractRabbitMQMessageHandler extends AbstractMessageHandler implements Consumer {
/**
diff --git a/queue-rabbitmq/src/test/java/com/cisco/oss/foundation/core/test/FilterTest.java b/queue-rabbitmq/src/test/java/com/cisco/oss/foundation/core/test/FilterTest.java
deleted file mode 100644
index 6c31d30..0000000
--- a/queue-rabbitmq/src/test/java/com/cisco/oss/foundation/core/test/FilterTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2015 Cisco Systems, Inc.
- *
- * 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.
- */
-
-package com.cisco.oss.foundation.core.test;
-
-import org.hornetq.api.core.SimpleString;
-import org.hornetq.core.filter.impl.FilterParser;
-import org.hornetq.core.filter.impl.Identifier;
-import org.hornetq.core.filter.impl.ParseException;
-import org.junit.Test;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Created by yaogen on 10/03/2015.
- */
-public class FilterTest {
- String filter = "pointer='/households[householdId=?]/userProfiles[userProfileId=?]' OR pointer LIKE '/households[householdId=?]/userProfiles[userProfileId=?]/preferences/%' OR pointer='/households[householdId=?]/userProfiles[userProfileId=?]/favoriteChannels' OR pointer LIKE '/households[householdId=?]/devices[deviceId=?]%' OR pointer LIKE '/households[householdId=?]/preferences/%' OR pointer='/households[householdId=?]/householdStatus' OR pointer='/households[householdId=?]/locale' OR pointer='/households[householdId=?]' OR pointer LIKE '/households[householdId=?]/enabledServices%' OR pointer = '/households[householdId=?]/numTitles' OR pointer = '/households[householdId=?]/authorizations/subscriptions[authorizationId=?]' OR pointer = '/households[householdId=?]/authorizations/titles[purchaseId=?]'";
-
- @Test
- public void testFilterParser(){
- Map identifierMap = new HashMap<>();
- try {
- Object parsed = FilterParser.doParse(new SimpleString(filter), identifierMap);
- int i=0;
- } catch (ParseException e) {
- e.printStackTrace();
- }
- }
-}