[jboss-cvs] JBoss Messaging SVN: r2323 - in trunk: src/main/org/jboss/jms/client/container and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Feb 15 05:25:07 EST 2007
Author: timfox
Date: 2007-02-15 05:25:06 -0500 (Thu, 15 Feb 2007)
New Revision: 2323
Modified:
trunk/src/etc/xmdesc/ServerPeer-xmbean.xml
trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java
trunk/src/main/org/jboss/jms/server/ServerPeer.java
trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java
trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java
trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java
trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
Log:
Various bits and pieces
Modified: trunk/src/etc/xmdesc/ServerPeer-xmbean.xml
===================================================================
--- trunk/src/etc/xmdesc/ServerPeer-xmbean.xml 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/etc/xmdesc/ServerPeer-xmbean.xml 2007-02-15 10:25:06 UTC (rev 2323)
@@ -358,6 +358,20 @@
<operation>
<description>
+ Enable message counters
+ </description>
+ <name>enableMessageCounters</name>
+ </operation>
+
+ <operation>
+ <description>
+ Disable message counters
+ </description>
+ <name>disableMessageCounters</name>
+ </operation>
+
+ <operation>
+ <description>
Retrieve list of all prepared transaction ids
</description>
<name>retrievePreparedTransactions</name>
Modified: trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -162,21 +162,27 @@
// client side network fails temporarily so the client connection breaks but the
// server cluster is still up and running - in this case we don't perform failover.
- // TODO Is this the right thing to do?
+ // In this case we should try back on the original server
log.warn("Client attempted failover, but no failover attempt " +
- "has been detected on the server side.");
-
- return null;
+ "has been detected on the server side. We will now try again on the original server " +
+ "in case there was a temporary glitch on the client--server network");
+
+ delegate = getDelegateForNode(failedNodeID.intValue());
+
+ //Pause a little to avoid hammering the same node in quick succession
+
+ //Currently hardcoded
+ Thread.sleep(2000);
}
-
- // Server side failover has occurred / is occurring but trying to go to the 'default'
- // failover node did not succeed. Retry with the node suggested by the cluster.
-
- attemptCount++;
-
- delegate = getDelegateForNode(actualServerID);
-
+ else
+ {
+ // Server side failover has occurred / is occurring but trying to go to the 'default'
+ // failover node did not succeed. Retry with the node suggested by the cluster.
+
+ delegate = getDelegateForNode(actualServerID);
+ }
+
if (delegate == null)
{
// the delegate corresponding to the actualServerID not found among the cached
@@ -185,6 +191,8 @@
throw new JMSException("Cannot find a cached connection factory delegate for " +
"node " + actualServerID);
}
+
+ attemptCount++;
}
}
Modified: trunk/src/main/org/jboss/jms/server/ServerPeer.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/ServerPeer.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/server/ServerPeer.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -269,7 +269,12 @@
messageStore.start();
securityStore.start();
txRepository.start();
- messageCounterManager.start();
+
+ //Note we do not start the message counter manager by default
+ //This must be done explicitly by the user by calling enableMessageCounters()
+ //This is because message counter history takes up growing memory to store the stats
+ //and could theoretically eventually cause the server to run out of RAM
+
txRepository.loadPreparedTransactions();
initializeRemoting(mbeanServer);
@@ -588,6 +593,20 @@
this.defaultMessageCounterHistoryDayLimit = limit;
}
+ public void enableMessageCounters()
+ {
+ messageCounterManager.start();
+ }
+
+ public void disableMessageCounters()
+ {
+ messageCounterManager.stop();
+
+ messageCounterManager.resetAllCounters();
+
+ messageCounterManager.resetAllCounterHistories();
+ }
+
// JMX Operations -------------------------------------------------------------------------------
public String createQueue(String name, String jndiName) throws Exception
Modified: trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/server/ServerPeerMBean.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -149,4 +149,8 @@
List retrievePreparedTransactions();
String showPreparedTransactionsAsHTML();
+
+ void enableMessageCounters();
+
+ void disableMessageCounters();
}
Modified: trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/jms/server/messagecounter/MessageCounterManager.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -87,6 +87,8 @@
if (!started)
{
log.warn(this + " isn't started");
+
+ return;
}
//Wait for timer task to stop
@@ -102,11 +104,19 @@
public synchronized void reschedule(long newPeriod)
{
- stop();
+ boolean wasStarted = this.started;
+ if (wasStarted)
+ {
+ stop();
+ }
+
period = newPeriod;
- start();
+ if (wasStarted)
+ {
+ start();
+ }
}
public void registerMessageCounter(String name, MessageCounter counter)
Modified: trunk/src/main/org/jboss/messaging/core/ChannelSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/ChannelSupport.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/src/main/org/jboss/messaging/core/ChannelSupport.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -497,7 +497,12 @@
{
// TODO we need to look in paging state too - currently not supported
+
+ // Clebert - why did you add a link to 808 here?
+ // I don't think 808 has anything to do with this.
// http://jira.jboss.org/jira/browse/JBMESSAGING-808
+
+ //http://jira.jboss.com/jira/browse/JBMESSAGING-839
log.warn(this + " cannot find reference " + id + " (Might be paged!)");
break;
}
Modified: trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/core/plugin/postoffice/cluster/RedistributionWithDefaultMessagePullPolicyTest.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -945,7 +945,7 @@
queue5.deliver(false);
receiver5.waitForHandleInvocations(5, 20000);
- Thread.sleep(2000);
+ Thread.sleep(4000);
log.trace("Here are the sizes 4:");
log.trace("queue1, refs:" + queue1.memoryRefCount() + " dels:" + queue1.getDeliveringCount());
Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/ServerPeerTest.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -322,6 +322,8 @@
ServerManagement.startServerPeer();
}
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+
ConnectionFactory cf = (ConnectionFactory)initialContext.lookup("/ConnectionFactory");
ServerManagement.deployQueue("Queue1");
@@ -593,6 +595,8 @@
ServerManagement.undeployTopic("Topic1");
ServerManagement.undeployTopic("Topic2");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
}
}
Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -182,6 +182,8 @@
ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployQueue("QueueMessageCount");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
try
{
@@ -227,8 +229,9 @@
}
finally
{
-
ServerManagement.undeployQueue("QueueMessageCount");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
}
}
@@ -238,6 +241,8 @@
ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployQueue("QueueMessageCount");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
try
{
@@ -291,8 +296,9 @@
}
finally
{
-
ServerManagement.undeployQueue("QueueMessageCount");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
}
}
@@ -307,6 +313,8 @@
ServerManagement.deployQueue("QueueMessageCount2", fullSize, fullSize / 2, fullSize / 2 - 1);
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+
ObjectName destObjectName =
new ObjectName("jboss.messaging.destination:service=Queue,name=QueueMessageCount2");
@@ -363,6 +371,8 @@
finally
{
ServerManagement.undeployQueue("QueueMessageCount2");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
if (conn != null)
{
@@ -377,7 +387,7 @@
ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
ServerManagement.deployQueue("QueueMaxSize");
-
+
try
{
Queue queue = (Queue)ic.lookup("/queue/QueueMaxSize");
@@ -701,7 +711,8 @@
ServerManagement.setAttribute(ServerManagement.getServerPeerObjectName(), "QueueStatsSamplePeriod", String.valueOf(1000));
-
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+
ServerManagement.deployQueue("QueueMessageCounter");
Queue queue = (Queue)ic.lookup("/queue/QueueMessageCounter");
@@ -771,10 +782,10 @@
assertNotNull(html);
assertTrue(html.indexOf("QueueMessageCounter") != -1);
-
+
+ ServerManagement.undeployQueue("QueueMessageCounter");
- ServerManagement.undeployQueue("QueueMessageCounter");
-
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
}
public void testConsumersCount() throws Exception
Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java 2007-02-15 08:43:05 UTC (rev 2322)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java 2007-02-15 10:25:06 UTC (rev 2323)
@@ -291,6 +291,8 @@
ServerManagement.deployTopic("TopicGetAllMessageCount");
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+
TopicConnection conn = null;
@@ -389,6 +391,8 @@
conn.close();
}
ServerManagement.undeployTopic("TopicGetAllMessageCount");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
}
}
More information about the jboss-cvs-commits
mailing list