summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-08-01 13:01:06 +0000
committerRobert Gemmell <robbie@apache.org>2012-08-01 13:01:06 +0000
commit3f4122a2aa833a91f05f91e1101a5a13c6b59e92 (patch)
tree850881b8484cdb4bc160c32bf8b6db3052827167
parent2dcf35c06038da5ec5cc53db48ab433dd027d8d0 (diff)
downloadqpid-python-3f4122a2aa833a91f05f91e1101a5a13c6b59e92.tar.gz
QPID-4167: Fix setting of queue attributes via web management console and rest interfaces. Also import Subscription into the bundle to resolve CDNFExcept ion when viewing a queue with Consumers.
Work by Oleksandr Rudyy, Keith Wall and myself. merged from trunk r1367796 git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.18@1367973 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/broker-plugins/management-http/MANIFEST.MF1
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html27
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js19
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html30
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/showVirtualHost.html27
-rw-r--r--qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java35
-rw-r--r--qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java50
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java4
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties1
9 files changed, 139 insertions, 55 deletions
diff --git a/qpid/java/broker-plugins/management-http/MANIFEST.MF b/qpid/java/broker-plugins/management-http/MANIFEST.MF
index a03844494b..cca10d3f89 100644
--- a/qpid/java/broker-plugins/management-http/MANIFEST.MF
+++ b/qpid/java/broker-plugins/management-http/MANIFEST.MF
@@ -30,6 +30,7 @@ Import-Package: org.apache.qpid,
org.apache.qpid.server.plugins,
org.apache.qpid.server.protocol,
org.apache.qpid.server.queue,
+ org.apache.qpid.server.subscription,
org.apache.qpid.server.registry,
org.apache.qpid.server.security,
org.apache.qpid.server.security.access,
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
index a83c388bb4..4912d8eb5d 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
@@ -94,7 +94,7 @@
<td><input type="text" required="false" name="queueFlowControlSizeBytes" id="formAddQueue.capacity" placeholder="Size in bytes"
dojoType="dijit.form.ValidationTextBox"
trim="true"
- regexp="(^[0-9]+(b|K(b)?|M(b)?|G(b)?)?$)"
+ regexp="[0-9]+"
invalidMessage= "Invalid value"/></td>
</tr>
<!-- x-qpid-flow-resume-capacity -->
@@ -103,7 +103,7 @@
<td><input type="text" required="false" name="queueFlowResumeSizeBytes" id="formAddQueue.flowResumeCapacity" placeholder="Size in bytes"
dojoType="dijit.form.ValidationTextBox"
trim="true"
- regexp="(^[0-9]+(b|K(b)?|M(b)?|G(b)?)?$)"
+ regexp="[0-9]+"
invalidMessage= "Invalid value"/></td>
</tr>
</table>
@@ -111,27 +111,28 @@
<br/>
<div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Alerting Settings', open: false">
<table cellpadding="0" cellspacing="2">
+ <!-- x-qpid-maximum-message-count -->
<tr>
- <td valign="top"><strong>Maximum Message Age: </strong></td>
- <td><input type="text" required="false" name="alertThresholdMessageAge" id="formAddQueue.maximumMessageAge" placeholder="Time in ms"
+ <td valign="top"><strong>Queue Depth: </strong></td>
+ <td><input type="text" required="false" name="alertThresholdQueueDepthMessages" id="formAddQueue.maximumMessageCount" placeholder="Count of messages"
dojoType="dijit.form.ValidationTextBox"
trim="true"
- regexp="(^[0-9]+(s(ec(ond(s)?)?)?|m(in(ute)?(s)?)?|h|d|w|M|y)?$)"
+ regexp="[0-9]+"
invalidMessage= "Invalid value" /></td>
</tr>
- <!-- x-qpid-maximum-message-size -->
+ <!-- x-qpid-maximum-message-age -->
<tr>
- <td valign="top"><strong>Maximum Message Size: </strong></td>
- <td><input type="text" required="false" name="alertThresholdMessageSize" id="formAddQueue.maximumMessageSize" placeholder="Size in bytes"
+ <td valign="top"><strong>Message Age: </strong></td>
+ <td><input type="text" required="false" name="alertThresholdMessageAge" id="formAddQueue.maximumMessageAge" placeholder="Time in ms"
dojoType="dijit.form.ValidationTextBox"
trim="true"
- regexp="(^[0-9]+(b|K(b)?|M(b)?|G(b)?)?$)"
+ regexp="[0-9]+"
invalidMessage= "Invalid value" /></td>
</tr>
- <!-- x-qpid-maximum-message-count -->
+ <!-- x-qpid-maximum-message-size -->
<tr>
- <td valign="top"><strong>Maximum Number in Queue: </strong></td>
- <td><input type="text" required="false" name="alertThresholdQueueDepthMessages" id="formAddQueue.maximumMessageCount" placeholder="Count of messages"
+ <td valign="top"><strong>Message Size: </strong></td>
+ <td><input type="text" required="false" name="alertThresholdMessageSize" id="formAddQueue.maximumMessageSize" placeholder="Size in bytes"
dojoType="dijit.form.ValidationTextBox"
trim="true"
regexp="[0-9]+"
@@ -143,7 +144,7 @@
<td><input type="text" required="false" name="alertRepeatGap" id="formAddQueue.minimumAlertRepeatGap" placeholder="Time in ms"
dojoType="dijit.form.ValidationTextBox"
trim="true"
- regexp="(^[0-9]+(s(ec(ond(s)?)?)?|m(in(ute)?(s)?)?|h|d|w|M|y)?$)"
+ regexp="[0-9]+"
invalidMessage= "Invalid value" /></td>
</tr>
</table>
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
index 1843552f46..3fabc409be 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
@@ -58,6 +58,16 @@ define(["dojo/_base/xhr",
sorted: "sortkey"
};
+ var fieldConverters = {
+ queueFlowControlSizeBytes: parseInt,
+ queueFlowResumeSizeBytes: parseInt,
+ alertThresholdMessageSize: parseInt,
+ alertThresholdQueueDepthMessages: parseInt,
+ maximumDeliveryAttempts: parseInt,
+ alertThresholdMessageAge: parseInt,
+ alertRepeatGap: parseInt
+ }
+
var convertToQueue = function convertToQueue(formValues)
{
var newQueue = {};
@@ -74,7 +84,14 @@ define(["dojo/_base/xhr",
} else if (!typeSpecificFields.hasOwnProperty(propName) ||
formValues.type === typeSpecificFields[ propName ]) {
if(formValues[ propName ] !== "") {
- newQueue[ propName ] = formValues[propName];
+ if (fieldConverters.hasOwnProperty(propName))
+ {
+ newQueue[ propName ] = fieldConverters[propName](formValues[propName]);
+ }
+ else
+ {
+ newQueue[ propName ] = formValues[propName];
+ }
}
}
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html
index f4960055b0..9d156f817b 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/showQueue.html
@@ -69,33 +69,31 @@
</div>
<br/>
<div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Alerting Thresholds', open: false">
- <span style="">Max. Queue Size:</span>
+ <span style="">Queue Depth:</span>
<span class="alertThresholdQueueDepthMessages"
- style="position:absolute; left:8em; width:8em; text-align:right"></span>
- <span style="position:absolute; left:16.2em">msgs</span>
+ style="position:absolute; left:4em; width:8em; text-align:right"></span>
+ <span style="position:absolute; left:12.2em">msgs</span>
+ <span style="position:absolute; left:21em">Queue Depth:</span>
<span class="alertThresholdQueueDepthBytes"
- style="position:absolute; left:20em; width:8em; text-align:right"></span>
- <span class="alertThresholdQueueDepthBytesUnits" style="position:absolute; left:28.2em"></span>
+ style="position:absolute; left:22em; width:8em; text-align:right"></span>
+ <span class="alertThresholdQueueDepthBytesUnits" style="position:absolute; left:30.2em"></span>
<br>
- <span style="">Max. Message Age:</span>
+ <span style="">Message Age:</span>
<span class="alertThresholdMessageAge"
- style="position:absolute; left:8em; width:8em; text-align:right"></span>
- <span class="alertThresholdMessageAgeUnits" style="position:absolute; left:16.2em"></span>
+ style="position:absolute; left:4em; width:8em; text-align:right"></span>
+ <span class="alertThresholdMessageAgeUnits" style="position:absolute; left:12.2em"></span>
- <span style="position:absolute; left:21em">Size: </span>
+ <span style="position:absolute; left:21em">Message Size: </span>
<span class="alertThresholdMessageSize"
- style="position:absolute; left:23em; width:5em; text-align:right"></span>
- <span class="alertThresholdMessageSizeUnits" style="position:absolute; left:28.2em"></span>
+ style="position:absolute; left:25em; width:5em; text-align:right"></span>
+ <span class="alertThresholdMessageSizeUnits" style="position:absolute; left:30.2em"></span>
<br/>
<br/>
<span style="">Alert frequency:</span>
<span class="alertRepeatGap"
- style="position:absolute; left:8em; width:8em; text-align:right"></span>
- <span class="alertRepeatGapUnits" style="position:absolute; left:16.2em"></span>
-
-
-
+ style="position:absolute; left:4em; width:8em; text-align:right"></span>
+ <span class="alertRepeatGapUnits" style="position:absolute; left:12.2em"></span>
</div>
<div class="dijitDialogPaneActionBar">
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/showVirtualHost.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/showVirtualHost.html
index f4d998458f..73c912e0d4 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/showVirtualHost.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/showVirtualHost.html
@@ -57,30 +57,31 @@
</div>
<br/>
<div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Alerting Thresholds', open: false">
- <span style="">Max. Queue Size:</span>
+ <span style="">Queue Depth:</span>
<span class="alertThresholdQueueDepthMessages"
- style="position:absolute; left:8em; width:8em; text-align:right"></span>
- <span style="position:absolute; left:16.2em">msgs</span>
+ style="position:absolute; left:4em; width:8em; text-align:right"></span>
+ <span style="position:absolute; left:12.2em">msgs</span>
+ <span style="position:absolute; left:21em">Queue Depth:</span>
<span class="alertThresholdQueueDepthBytes"
- style="position:absolute; left:20em; width:8em; text-align:right"></span>
- <span class="alertThresholdQueueDepthBytesUnits" style="position:absolute; left:28.2em"></span>
+ style="position:absolute; left:22em; width:8em; text-align:right"></span>
+ <span class="alertThresholdQueueDepthBytesUnits" style="position:absolute; left:30.2em"></span>
<br>
- <span style="">Max. Message Age:</span>
+ <span style="">Message Age:</span>
<span class="alertThresholdMessageAge"
- style="position:absolute; left:8em; width:8em; text-align:right"></span>
- <span class="alertThresholdMessageAgeUnits" style="position:absolute; left:16.2em"></span>
+ style="position:absolute; left:4em; width:8em; text-align:right"></span>
+ <span class="alertThresholdMessageAgeUnits" style="position:absolute; left:12.2em"></span>
- <span style="position:absolute; left:21em">Size: </span>
+ <span style="position:absolute; left:21em">Message Size: </span>
<span class="alertThresholdMessageSize"
- style="position:absolute; left:23em; width:5em; text-align:right"></span>
- <span class="alertThresholdMessageSizeUnits" style="position:absolute; left:28.2em"></span>
+ style="position:absolute; left:25em; width:5em; text-align:right"></span>
+ <span class="alertThresholdMessageSizeUnits" style="position:absolute; left:30.2em"></span>
<br/>
<br/>
<span style="">Alert frequency:</span>
<span class="alertRepeatGap"
- style="position:absolute; left:8em; width:8em; text-align:right"></span>
- <span class="alertRepeatGapUnits" style="position:absolute; left:16.2em"></span>
+ style="position:absolute; left:4em; width:8em; text-align:right"></span>
+ <span class="alertRepeatGapUnits" style="position:absolute; left:12.2em"></span>
</div>
</div>
diff --git a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java
index db5306b08d..2595007574 100644
--- a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java
+++ b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/Asserts.java
@@ -79,6 +79,11 @@ public class Asserts
public static void assertQueue(String queueName, String queueType, Map<String, Object> queueData)
{
+ assertQueue(queueName, queueType, queueData, null);
+ }
+
+ public static void assertQueue(String queueName, String queueType, Map<String, Object> queueData, Map<String, Object> expectedAttributes)
+ {
assertNotNull("Queue " + queueName + " is not found!", queueData);
Asserts.assertAttributesPresent(queueData, Queue.AVAILABLE_ATTRIBUTES, Queue.CREATED, Queue.UPDATED,
Queue.DESCRIPTION, Queue.TIME_TO_LIVE, Queue.ALTERNATE_EXCHANGE, Queue.OWNER, Queue.NO_LOCAL, Queue.LVQ_KEY,
@@ -91,18 +96,28 @@ public class Asserts
assertEquals("Unexpected value of queue attribute " + Queue.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
queueData.get(Queue.LIFETIME_POLICY));
assertEquals("Unexpected value of queue attribute " + Queue.TYPE, queueType, queueData.get(Queue.TYPE));
- assertEquals("Unexpected value of queue attribute " + Queue.EXCLUSIVE, Boolean.FALSE, queueData.get(Queue.EXCLUSIVE));
- assertEquals("Unexpected value of queue attribute " + Queue.MAXIMUM_DELIVERY_ATTEMPTS, 0,
- queueData.get(Queue.MAXIMUM_DELIVERY_ATTEMPTS));
- assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES, 0,
- queueData.get(Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES));
- assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_RESUME_SIZE_BYTES, 0,
- queueData.get(Queue.QUEUE_FLOW_RESUME_SIZE_BYTES));
- assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_STOPPED, Boolean.FALSE,
- queueData.get(Queue.QUEUE_FLOW_STOPPED));
+ if (expectedAttributes == null)
+ {
+ assertEquals("Unexpected value of queue attribute " + Queue.EXCLUSIVE, Boolean.FALSE, queueData.get(Queue.EXCLUSIVE));
+ assertEquals("Unexpected value of queue attribute " + Queue.MAXIMUM_DELIVERY_ATTEMPTS, 0,
+ queueData.get(Queue.MAXIMUM_DELIVERY_ATTEMPTS));
+ assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES, 0,
+ queueData.get(Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES));
+ assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_RESUME_SIZE_BYTES, 0,
+ queueData.get(Queue.QUEUE_FLOW_RESUME_SIZE_BYTES));
+ assertEquals("Unexpected value of queue attribute " + Queue.QUEUE_FLOW_STOPPED, Boolean.FALSE,
+ queueData.get(Queue.QUEUE_FLOW_STOPPED));
+ }
+ else
+ {
+ for (Map.Entry<String, Object> attribute : expectedAttributes.entrySet())
+ {
+ assertEquals("Unexpected value of " + queueName + " queue attribute " + attribute.getKey(),
+ attribute.getValue(), queueData.get(attribute.getKey()));
+ }
+ }
assertNotNull("Unexpected value of queue attribute statistics", queueData.get(Asserts.STATISTICS_ATTRIBUTE));
-
@SuppressWarnings("unchecked")
Map<String, Object> statistics = (Map<String, Object>) queueData.get(Asserts.STATISTICS_ATTRIBUTE);
Asserts.assertAttributesPresent(statistics, Queue.AVAILABLE_STATISTICS, Queue.DISCARDS_TTL_BYTES,
diff --git a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java
index eaf2e60478..32edc3e305 100644
--- a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java
+++ b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostRestTest.java
@@ -296,6 +296,56 @@ public class VirtualHostRestTest extends QpidRestTestCase
assertEquals("Exchange should be deleted", 0, queues.size());
}
+ public void testPutCreateQueueWithAttributes() throws Exception
+ {
+ String queueName = getTestQueueName();
+
+ Map<String, Object> attributes = new HashMap<String, Object>();
+ attributes.put(Queue.ALERT_REPEAT_GAP, 1000);
+ attributes.put(Queue.ALERT_THRESHOLD_MESSAGE_AGE, 3600000);
+ attributes.put(Queue.ALERT_THRESHOLD_MESSAGE_SIZE, 1000000000);
+ attributes.put(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 800);
+ attributes.put(Queue.MAXIMUM_DELIVERY_ATTEMPTS, 15);
+ attributes.put(Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES, 2000000000);
+ attributes.put(Queue.QUEUE_FLOW_RESUME_SIZE_BYTES, 1500000000);
+
+ createQueue(queueName + "-standard", "standard", attributes);
+
+ Map<String, Object> sortedQueueAttributes = new HashMap<String, Object>();
+ sortedQueueAttributes.putAll(attributes);
+ sortedQueueAttributes.put(Queue.SORT_KEY, "sortme");
+ createQueue(queueName + "-sorted", "sorted", sortedQueueAttributes);
+
+ Map<String, Object> priorityQueueAttributes = new HashMap<String, Object>();
+ priorityQueueAttributes.putAll(attributes);
+ priorityQueueAttributes.put(Queue.PRIORITIES, 10);
+ createQueue(queueName + "-priority", "priority", priorityQueueAttributes);
+
+ Map<String, Object> lvqQueueAttributes = new HashMap<String, Object>();
+ lvqQueueAttributes.putAll(attributes);
+ lvqQueueAttributes.put(Queue.LVQ_KEY, "LVQ");
+ createQueue(queueName + "-lvq", "lvq", lvqQueueAttributes);
+
+ Map<String, Object> hostDetails = getJsonAsSingletonList("/rest/virtualhost/test");
+
+ @SuppressWarnings("unchecked")
+ List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
+ Map<String, Object> standardQueue = find(Queue.NAME, queueName + "-standard" , queues);
+ Map<String, Object> sortedQueue = find(Queue.NAME, queueName + "-sorted" , queues);
+ Map<String, Object> priorityQueue = find(Queue.NAME, queueName + "-priority" , queues);
+ Map<String, Object> lvqQueue = find(Queue.NAME, queueName + "-lvq" , queues);
+
+ attributes.put(Queue.DURABLE, Boolean.TRUE);
+ Asserts.assertQueue(queueName + "-standard", "standard", standardQueue, attributes);
+ Asserts.assertQueue(queueName + "-sorted", "sorted", sortedQueue, attributes);
+ Asserts.assertQueue(queueName + "-priority", "priority", priorityQueue, attributes);
+ Asserts.assertQueue(queueName + "-lvq", "lvq", lvqQueue, attributes);
+
+ assertEquals("Unexpected sorted key attribute", "sortme", sortedQueue.get(Queue.SORT_KEY));
+ assertEquals("Unexpected lvq key attribute", "LVQ", lvqQueue.get(Queue.LVQ_KEY));
+ assertEquals("Unexpected priorities key attribute", 10, priorityQueue.get(Queue.PRIORITIES));
+ }
+
private void createExchange(String exchangeName, String exchangeType) throws IOException
{
HttpURLConnection connection = openManagementConection("/rest/exchange/test/" + exchangeName, "PUT");
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
index 5a5f7435a2..78f6d38d93 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
@@ -51,8 +51,8 @@ final class QueueAdapter extends AbstractAdapter implements Queue, AMQQueue.Subs
static
{
QueueAdapter.ATTRIBUTE_MAPPINGS.put(Queue.ALERT_REPEAT_GAP, "x-qpid-minimum-alert-repeat-gap");
- QueueAdapter.ATTRIBUTE_MAPPINGS.put(Queue.ALERT_THRESHOLD_MESSAGE_AGE, "x-qpid-maximum-message-size");
- QueueAdapter.ATTRIBUTE_MAPPINGS.put(Queue.ALERT_THRESHOLD_MESSAGE_SIZE, "x-qpid-maximum-message-age");
+ QueueAdapter.ATTRIBUTE_MAPPINGS.put(Queue.ALERT_THRESHOLD_MESSAGE_AGE, "x-qpid-maximum-message-age");
+ QueueAdapter.ATTRIBUTE_MAPPINGS.put(Queue.ALERT_THRESHOLD_MESSAGE_SIZE, "x-qpid-maximum-message-size");
QueueAdapter.ATTRIBUTE_MAPPINGS.put(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, "x-qpid-maximum-message-count");
QueueAdapter.ATTRIBUTE_MAPPINGS.put(Queue.MAXIMUM_DELIVERY_ATTEMPTS, "x-qpid-maximum-delivery-count");
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties b/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties
index 4767e1ea6b..6479546355 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties
@@ -117,6 +117,7 @@ org.apache.qpid.server.persistent=0.0.0
org.apache.qpid.server.plugins=0.0.0
org.apache.qpid.server.protocol=0.0.0
org.apache.qpid.server.queue=0.0.0
+org.apache.qpid.server.subscription=0.0.0
org.apache.qpid.server.registry=0.0.0
org.apache.qpid.server.security=0.0.0
org.apache.qpid.server.security.access=0.0.0