Author: rajdavies
Date: Thu Aug 6 19:14:47 2009
New Revision: 801779
URL: http://svn.apache.org/viewvc?rev=801779&view=rev
Log:
Added some helper methods so clients can use Advisories without needing to use
too much ActiveMQ specifics (other than this class)
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/advisory/AdvisorySupport.java
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/advisory/AdvisorySupport.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/advisory/AdvisorySupport.java?rev=801779&r1=801778&r2=801779&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/advisory/AdvisorySupport.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/advisory/AdvisorySupport.java
Thu Aug 6 19:14:47 2009
@@ -16,15 +16,15 @@
*/
package org.apache.activemq.advisory;
-import javax.jms.Destination;
-
+import org.apache.activemq.ActiveMQMessageTransformation;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQTopic;
-
+import javax.jms.Destination;
+import javax.jms.JMSException;
public final class AdvisorySupport {
-
public static final String ADVISORY_TOPIC_PREFIX = "ActiveMQ.Advisory.";
- public static final ActiveMQTopic CONNECTION_ADVISORY_TOPIC = new
ActiveMQTopic(ADVISORY_TOPIC_PREFIX + "Connection");
+ public static final ActiveMQTopic CONNECTION_ADVISORY_TOPIC = new
ActiveMQTopic(ADVISORY_TOPIC_PREFIX
+ + "Connection");
public static final ActiveMQTopic QUEUE_ADVISORY_TOPIC = new
ActiveMQTopic(ADVISORY_TOPIC_PREFIX + "Queue");
public static final ActiveMQTopic TOPIC_ADVISORY_TOPIC = new
ActiveMQTopic(ADVISORY_TOPIC_PREFIX + "Topic");
public static final ActiveMQTopic TEMP_QUEUE_ADVISORY_TOPIC = new
ActiveMQTopic(ADVISORY_TOPIC_PREFIX + "TempQueue");
@@ -48,23 +48,28 @@
public static final String MASTER_BROKER_TOPIC_PREFIX =
ADVISORY_TOPIC_PREFIX + "MasterBroker";
public static final String AGENT_TOPIC = "ActiveMQ.Agent";
public static final String ADIVSORY_MESSAGE_TYPE = "Advisory";
- public static final String MSG_PROPERTY_ORIGIN_BROKER_ID="originBrokerId";
- public static final String
MSG_PROPERTY_ORIGIN_BROKER_NAME="originBrokerName";
- public static final String
MSG_PROPERTY_ORIGIN_BROKER_URL="originBrokerURL";
- public static final String MSG_PROPERTY_USAGE_NAME="usageName";
- public static final String MSG_PROPERTY_CONSUMER_ID="consumerId";
- public static final String MSG_PROPERTY_PRODUCER_ID="producerId";
- public static final String MSG_PROPERTY_MESSAGE_ID="orignalMessageId";
- public static final ActiveMQTopic
TEMP_DESTINATION_COMPOSITE_ADVISORY_TOPIC = new
ActiveMQTopic(TEMP_QUEUE_ADVISORY_TOPIC + "," + TEMP_TOPIC_ADVISORY_TOPIC);
+ public static final String MSG_PROPERTY_ORIGIN_BROKER_ID =
"originBrokerId";
+ public static final String MSG_PROPERTY_ORIGIN_BROKER_NAME =
"originBrokerName";
+ public static final String MSG_PROPERTY_ORIGIN_BROKER_URL =
"originBrokerURL";
+ public static final String MSG_PROPERTY_USAGE_NAME = "usageName";
+ public static final String MSG_PROPERTY_CONSUMER_ID = "consumerId";
+ public static final String MSG_PROPERTY_PRODUCER_ID = "producerId";
+ public static final String MSG_PROPERTY_MESSAGE_ID = "orignalMessageId";
+ public static final ActiveMQTopic
TEMP_DESTINATION_COMPOSITE_ADVISORY_TOPIC = new ActiveMQTopic(
+ TEMP_QUEUE_ADVISORY_TOPIC + "," + TEMP_TOPIC_ADVISORY_TOPIC);
private static final ActiveMQTopic AGENT_TOPIC_DESTINATION = new
ActiveMQTopic(AGENT_TOPIC);
- private AdvisorySupport() {
+ private AdvisorySupport() {
}
-
+
public static ActiveMQTopic getConnectionAdvisoryTopic() {
return CONNECTION_ADVISORY_TOPIC;
}
+ public static ActiveMQTopic getConsumerAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getConsumerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic getConsumerAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isQueue()) {
return new ActiveMQTopic(QUEUE_CONSUMER_ADVISORY_TOPIC_PREFIX +
destination.getPhysicalName());
@@ -73,6 +78,10 @@
}
}
+ public static ActiveMQTopic getProducerAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getProducerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic getProducerAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isQueue()) {
return new ActiveMQTopic(QUEUE_PRODUCER_ADVISORY_TOPIC_PREFIX +
destination.getPhysicalName());
@@ -81,6 +90,10 @@
}
}
+ public static ActiveMQTopic getExpiredMessageTopic(Destination
destination) throws JMSException {
+ return
getExpiredMessageTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic getExpiredMessageTopic(ActiveMQDestination
destination) {
if (destination.isQueue()) {
return getExpiredQueueMessageAdvisoryTopic(destination);
@@ -93,67 +106,105 @@
return new ActiveMQTopic(name);
}
+ public static ActiveMQTopic
getExpiredQueueMessageAdvisoryTopic(Destination destination) throws
JMSException {
+ return
getExpiredQueueMessageAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getExpiredQueueMessageAdvisoryTopic(ActiveMQDestination destination) {
String name = EXPIRED_QUEUE_MESSAGES_TOPIC_PREFIX +
destination.getPhysicalName();
return new ActiveMQTopic(name);
}
+ public static ActiveMQTopic getNoTopicConsumersAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getNoTopicConsumersAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getNoTopicConsumersAdvisoryTopic(ActiveMQDestination destination) {
String name = NO_TOPIC_CONSUMERS_TOPIC_PREFIX +
destination.getPhysicalName();
return new ActiveMQTopic(name);
}
+ public static ActiveMQTopic getNoQueueConsumersAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getNoQueueConsumersAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getNoQueueConsumersAdvisoryTopic(ActiveMQDestination destination) {
String name = NO_QUEUE_CONSUMERS_TOPIC_PREFIX +
destination.getPhysicalName();
return new ActiveMQTopic(name);
}
-
+
+ public static ActiveMQTopic getSlowConsumerAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getSlowConsumerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getSlowConsumerAdvisoryTopic(ActiveMQDestination destination) {
- String name = SLOW_CONSUMER_TOPIC_PREFIX
- + destination.getDestinationTypeAsString() + "."
+ String name = SLOW_CONSUMER_TOPIC_PREFIX +
destination.getDestinationTypeAsString() + "."
+ destination.getPhysicalName();
return new ActiveMQTopic(name);
}
-
+
+ public static ActiveMQTopic getFastProducerAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getFastProducerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getFastProducerAdvisoryTopic(ActiveMQDestination destination) {
- String name = FAST_PRODUCER_TOPIC_PREFIX
- + destination.getDestinationTypeAsString() + "."
+ String name = FAST_PRODUCER_TOPIC_PREFIX +
destination.getDestinationTypeAsString() + "."
+ destination.getPhysicalName();
return new ActiveMQTopic(name);
}
-
+
+ public static ActiveMQTopic getMessageDiscardedAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getMessageDiscardedAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getMessageDiscardedAdvisoryTopic(ActiveMQDestination destination) {
- String name = MESSAGE_DISCAREDED_TOPIC_PREFIX
- + destination.getDestinationTypeAsString() + "."
+ String name = MESSAGE_DISCAREDED_TOPIC_PREFIX +
destination.getDestinationTypeAsString() + "."
+ destination.getPhysicalName();
return new ActiveMQTopic(name);
}
-
+
+ public static ActiveMQTopic getMessageDeliveredAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getMessageDeliveredAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getMessageDeliveredAdvisoryTopic(ActiveMQDestination destination) {
- String name = MESSAGE_DELIVERED_TOPIC_PREFIX
- + destination.getDestinationTypeAsString() + "."
+ String name = MESSAGE_DELIVERED_TOPIC_PREFIX +
destination.getDestinationTypeAsString() + "."
+ destination.getPhysicalName();
return new ActiveMQTopic(name);
}
-
+
+ public static ActiveMQTopic getMessageConsumedAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getMessageConsumedAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getMessageConsumedAdvisoryTopic(ActiveMQDestination destination) {
- String name = MESSAGE_CONSUMED_TOPIC_PREFIX
- + destination.getDestinationTypeAsString() + "."
+ String name = MESSAGE_CONSUMED_TOPIC_PREFIX +
destination.getDestinationTypeAsString() + "."
+ destination.getPhysicalName();
return new ActiveMQTopic(name);
}
-
+
+ public static ActiveMQTopic getMasterBrokerAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getMasterBrokerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic getMasterBrokerAdvisoryTopic() {
return new ActiveMQTopic(MASTER_BROKER_TOPIC_PREFIX);
}
-
+
+ public static ActiveMQTopic getFullAdvisoryTopic(Destination destination)
throws JMSException {
+ return
getFullAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic getFullAdvisoryTopic(ActiveMQDestination
destination) {
- String name = FULL_TOPIC_PREFIX
- + destination.getDestinationTypeAsString() + "."
+ String name = FULL_TOPIC_PREFIX +
destination.getDestinationTypeAsString() + "."
+ destination.getPhysicalName();
return new ActiveMQTopic(name);
}
+ public static ActiveMQTopic getDestinationAdvisoryTopic(Destination
destination) throws JMSException {
+ return
getDestinationAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static ActiveMQTopic
getDestinationAdvisoryTopic(ActiveMQDestination destination) {
switch (destination.getDestinationType()) {
case ActiveMQDestination.QUEUE_TYPE:
@@ -169,6 +220,10 @@
}
}
+ public static boolean isDestinationAdvisoryTopic(Destination destination)
throws JMSException {
+ return
isDestinationAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isDestinationAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -179,11 +234,15 @@
}
return false;
} else {
- return destination.equals(TEMP_QUEUE_ADVISORY_TOPIC) ||
destination.equals(TEMP_TOPIC_ADVISORY_TOPIC) ||
destination.equals(QUEUE_ADVISORY_TOPIC)
- || destination.equals(TOPIC_ADVISORY_TOPIC);
+ return destination.equals(TEMP_QUEUE_ADVISORY_TOPIC) ||
destination.equals(TEMP_TOPIC_ADVISORY_TOPIC)
+ || destination.equals(QUEUE_ADVISORY_TOPIC) ||
destination.equals(TOPIC_ADVISORY_TOPIC);
}
}
+ public static boolean isAdvisoryTopic(Destination destination) throws
JMSException {
+ return
isAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isAdvisoryTopic(ActiveMQDestination destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -198,6 +257,10 @@
}
}
+ public static boolean isConnectionAdvisoryTopic(Destination destination)
throws JMSException {
+ return
isConnectionAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isConnectionAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -212,6 +275,10 @@
}
}
+ public static boolean isProducerAdvisoryTopic(Destination destination)
throws JMSException {
+ return
isProducerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isProducerAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -226,6 +293,10 @@
}
}
+ public static boolean isConsumerAdvisoryTopic(Destination destination)
throws JMSException {
+ return
isConsumerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isConsumerAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -239,7 +310,11 @@
return destination.isTopic() &&
destination.getPhysicalName().startsWith(CONSUMER_ADVISORY_TOPIC_PREFIX);
}
}
-
+
+ public static boolean isSlowConsumerAdvisoryTopic(Destination destination)
throws JMSException {
+ return
isSlowConsumerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isSlowConsumerAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -253,7 +328,11 @@
return destination.isTopic() &&
destination.getPhysicalName().startsWith(SLOW_CONSUMER_TOPIC_PREFIX);
}
}
-
+
+ public static boolean isFastProducerAdvisoryTopic(Destination destination)
throws JMSException {
+ return
isFastProducerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isFastProducerAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -267,7 +346,11 @@
return destination.isTopic() &&
destination.getPhysicalName().startsWith(FAST_PRODUCER_TOPIC_PREFIX);
}
}
-
+
+ public static boolean isMessageConsumedAdvisoryTopic(Destination
destination) throws JMSException {
+ return
isMessageConsumedAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isMessageConsumedAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -281,7 +364,11 @@
return destination.isTopic() &&
destination.getPhysicalName().startsWith(MESSAGE_CONSUMED_TOPIC_PREFIX);
}
}
-
+
+ public static boolean isMasterBrokerAdvisoryTopic(Destination destination)
throws JMSException {
+ return
isMasterBrokerAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isMasterBrokerAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -295,7 +382,11 @@
return destination.isTopic() &&
destination.getPhysicalName().startsWith(MASTER_BROKER_TOPIC_PREFIX);
}
}
-
+
+ public static boolean isMessageDeliveredAdvisoryTopic(Destination
destination) throws JMSException {
+ return
isMessageDeliveredAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isMessageDeliveredAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -309,7 +400,11 @@
return destination.isTopic() &&
destination.getPhysicalName().startsWith(MESSAGE_DELIVERED_TOPIC_PREFIX);
}
}
-
+
+ public static boolean isMessageDiscardedAdvisoryTopic(Destination
destination) throws JMSException {
+ return
isMessageDiscardedAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isMessageDiscardedAdvisoryTopic(ActiveMQDestination
destination) {
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();
@@ -323,7 +418,11 @@
return destination.isTopic() &&
destination.getPhysicalName().startsWith(MESSAGE_DISCAREDED_TOPIC_PREFIX);
}
}
-
+
+ public static boolean isFullAdvisoryTopic(Destination destination) throws
JMSException {
+ return
isFullAdvisoryTopic(ActiveMQMessageTransformation.transformDestination(destination));
+ }
+
public static boolean isFullAdvisoryTopic(ActiveMQDestination destination)
{
if (destination.isComposite()) {
ActiveMQDestination[] compositeDestinations =
destination.getCompositeDestinations();