[jboss-cvs] JBoss Messaging SVN: r3020 - in trunk: src/etc/server/default/deploy and 15 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Aug 21 11:46:39 EDT 2007
Author: timfox
Date: 2007-08-21 11:46:38 -0400 (Tue, 21 Aug 2007)
New Revision: 3020
Removed:
trunk/src/main/org/jboss/messaging/core/impl/message/MessageHolder.java
trunk/tests/src/org/jboss/test/messaging/core/MessageStoreTestBase.java
trunk/tests/src/org/jboss/test/messaging/core/SimpleMessageStoreTest.java
trunk/tests/src/org/jboss/test/messaging/jms/ReferencingTest.java
Modified:
trunk/.classpath
trunk/build-messaging.xml
trunk/src/etc/server/default/deploy/db2-persistence-service.xml
trunk/src/etc/server/default/deploy/mssql-persistence-service.xml
trunk/src/etc/server/default/deploy/mysql-persistence-service.xml
trunk/src/etc/server/default/deploy/oracle-persistence-service.xml
trunk/src/etc/server/default/deploy/postgresql-persistence-service.xml
trunk/src/etc/server/default/deploy/sybase-persistence-service.xml
trunk/src/main/org/jboss/jms/server/ServerPeer.java
trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
trunk/src/main/org/jboss/messaging/core/contract/Message.java
trunk/src/main/org/jboss/messaging/core/contract/MessageReference.java
trunk/src/main/org/jboss/messaging/core/contract/MessageStore.java
trunk/src/main/org/jboss/messaging/core/contract/PersistenceManager.java
trunk/src/main/org/jboss/messaging/core/impl/ChannelSupport.java
trunk/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java
trunk/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java
trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java
trunk/src/main/org/jboss/messaging/core/impl/message/MessageFactory.java
trunk/src/main/org/jboss/messaging/core/impl/message/MessageSupport.java
trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageReference.java
trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageStore.java
trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
trunk/src/main/org/jboss/messaging/core/impl/tx/TransactionRepository.java
trunk/tests/build.xml
trunk/tests/src/org/jboss/test/messaging/MessagingTestCase.java
trunk/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java
trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java
trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
trunk/tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java
trunk/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java
trunk/tests/src/org/jboss/test/messaging/jms/MessageCleanupTest.java
trunk/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.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
trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-629 plus some pm simplification
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/.classpath 2007-08-21 15:46:38 UTC (rev 3020)
@@ -27,7 +27,6 @@
<classpathentry kind="lib" path="thirdparty/hsqldb/lib/hsqldb.jar"/>
<classpathentry kind="lib" path="thirdparty/apache-logging/lib/commons-logging.jar"/>
<classpathentry kind="lib" path="thirdparty/jboss/serialization/lib/jboss-serialization.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="thirdparty/sun-javacc/lib/javacc.jar"/>
<classpathentry kind="lib" path="thirdparty/apache-xerces/lib/xercesImpl.jar"/>
<classpathentry kind="lib" path="thirdparty/dom4j/lib/dom4j.jar"/>
@@ -61,5 +60,6 @@
<classpathentry kind="lib" path="thirdparty/jbossas/core-libs/lib/jboss-jca.jar"/>
<classpathentry kind="lib" path="thirdparty/jbossas/core-libs/lib/jboss-local-jdbc.jar"/>
<classpathentry kind="lib" path="thirdparty/jbossas/core-libs/lib/jboss-xml-binding.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: trunk/build-messaging.xml
===================================================================
--- trunk/build-messaging.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/build-messaging.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -120,7 +120,7 @@
&libraries;
<!--
- This module is based on Java 1.4
+ This module is based on Java 1.5
-->
<property name="javac.target" value="1.5"/>
Modified: trunk/src/etc/server/default/deploy/db2-persistence-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/db2-persistence-service.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/etc/server/default/deploy/db2-persistence-service.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -37,7 +37,7 @@
CREATE_IDX_MESSAGE_REF_PAGE_ORD=CREATE INDEX JBM_MSG_REF_PAGE_ORD ON JBM_MSG_REF (PAGE_ORD)
CREATE_IDX_MESSAGE_REF_MESSAGE_ID=CREATE INDEX JBM_MSG_REF_MESSAGE_ID ON JBM_MSG_REF (MESSAGE_ID)
CREATE_IDX_MESSAGE_REF_SCHED_DELIVERY=CREATE INDEX JBM_MSG_REF_SCHED_DELIVERY ON JBM_MSG_REF (SCHED_DELIVERY)
- CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT NOT NULL, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY SMALLINT, HEADERS BLOB, PAYLOAD BLOB, CHANNEL_COUNT INTEGER, TYPE SMALLINT, PRIMARY KEY (MESSAGE_ID))
+ CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT NOT NULL, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY SMALLINT, HEADERS BLOB, PAYLOAD BLOB, TYPE SMALLINT, PRIMARY KEY (MESSAGE_ID))
CREATE_TRANSACTION=CREATE TABLE JBM_TX (NODE_ID INTEGER NOT NULL, TRANSACTION_ID BIGINT NOT NULL, BRANCH_QUAL BLOB(254), FORMAT_ID INTEGER, GLOBAL_TXID BLOB(254), PRIMARY KEY (TRANSACTION_ID))
CREATE_COUNTER=CREATE TABLE JBM_COUNTER (NAME VARCHAR(255) NOT NULL, NEXT_ID BIGINT, PRIMARY KEY(NAME))
INSERT_MESSAGE_REF=INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
@@ -57,10 +57,9 @@
UPDATE_DELIVERY_COUNT=UPDATE JBM_MSG_REF SET DELIVERY_COUNT = ? WHERE CHANNEL_ID = ? AND MESSAGE_ID = ?
UPDATE_CHANNEL_ID=UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE CHANNEL_ID = ?
LOAD_MESSAGES=SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE FROM JBM_MSG
- INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, CHANNEL_COUNT, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
- INC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT + 1 WHERE MESSAGE_ID=?
- DEC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT - 1 WHERE MESSAGE_ID=?
- DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND CHANNEL_COUNT=0
+ INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+ DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=?
+ DELETE_PAGED_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND NOT EXISTS (SELECT * FROM JBM_MSG_REF WHERE MESSAGE_ID = ?)
MESSAGE_ID_COLUMN=MESSAGE_ID
MESSAGE_EXISTS=SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID = ? FOR UPDATE
INSERT_TRANSACTION=INSERT INTO JBM_TX (NODE_ID, TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID) VALUES(?, ?, ?, ?, ?)
Modified: trunk/src/etc/server/default/deploy/mssql-persistence-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/mssql-persistence-service.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/etc/server/default/deploy/mssql-persistence-service.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -40,7 +40,7 @@
CREATE_IDX_MESSAGE_REF_PAGE_ORD=CREATE INDEX JBM_MSG_REF_PAGE_ORD ON JBM_MSG_REF (PAGE_ORD)
CREATE_IDX_MESSAGE_REF_MESSAGE_ID=CREATE INDEX JBM_MSG_REF_MESSAGE_ID ON JBM_MSG_REF (MESSAGE_ID)
CREATE_IDX_MESSAGE_REF_SCHED_DELIVERY=CREATE INDEX JBM_MSG_REF_SCHED_DELIVERY ON JBM_MSG_REF (SCHED_DELIVERY)
- CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY TINYINT, HEADERS IMAGE, PAYLOAD IMAGE, CHANNEL_COUNT INT, TYPE TINYINT, PRIMARY KEY (MESSAGE_ID))
+ CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY TINYINT, HEADERS IMAGE, PAYLOAD IMAGE, TYPE TINYINT, PRIMARY KEY (MESSAGE_ID))
CREATE_TRANSACTION=CREATE TABLE JBM_TX (NODE_ID INTEGER, TRANSACTION_ID BIGINT, BRANCH_QUAL VARBINARY(254), FORMAT_ID INT, GLOBAL_TXID VARBINARY(254), PRIMARY KEY (TRANSACTION_ID))
CREATE_COUNTER=CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID BIGINT, PRIMARY KEY(NAME))
INSERT_MESSAGE_REF=INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
@@ -60,10 +60,9 @@
UPDATE_DELIVERY_COUNT=UPDATE JBM_MSG_REF SET DELIVERY_COUNT = ? WHERE CHANNEL_ID = ? AND MESSAGE_ID = ?
UPDATE_CHANNEL_ID=UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE CHANNEL_ID = ?
LOAD_MESSAGES=SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE FROM JBM_MSG
- INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, CHANNEL_COUNT, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
- INC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT + 1 WHERE MESSAGE_ID=?
- DEC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT - 1 WHERE MESSAGE_ID=?
- DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND CHANNEL_COUNT=0
+ INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+ DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=?
+ DELETE_PAGED_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND NOT EXISTS (SELECT * FROM JBM_MSG_REF WHERE MESSAGE_ID = ?)
MESSAGE_ID_COLUMN=MESSAGE_ID
MESSAGE_EXISTS=SELECT MESSAGE_ID FROM JBM_MSG WITH (HOLDLOCK, ROWLOCK) WHERE MESSAGE_ID = ?
INSERT_TRANSACTION=INSERT INTO JBM_TX (NODE_ID, TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID) VALUES(?, ?, ?, ?, ?)
@@ -141,51 +140,101 @@
<attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
-->
- <!-- JGroups stack configuration for the data channel - used when casting messages across the cluster -->
-
+ <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
+
<attribute name="DataChannelConfig">
<config>
- <UDP mcast_recv_buf_size="500000" down_thread="false" ip_mcast="true" mcast_send_buf_size="32000"
- mcast_port="45567" ucast_recv_buf_size="500000" use_incoming_packet_handler="false"
- mcast_addr="228.8.8.8" use_outgoing_packet_handler="true" loopback="true" ucast_send_buf_size="32000" ip_ttl="32" />
- <AUTOCONF down_thread="false" up_thread="false"/>
+ <UDP
+ mcast_addr="228.8.8.8"
+ mcast_port="45567"
+ tos="8"
+ ucast_recv_buf_size="20000000"
+ ucast_send_buf_size="640000"
+ mcast_recv_buf_size="25000000"
+ mcast_send_buf_size="640000"
+ loopback="false"
+ discard_incompatible_packets="true"
+ max_bundle_size="64000"
+ max_bundle_timeout="30"
+ use_incoming_packet_handler="true"
+ use_outgoing_packet_handler="false"
+ ip_ttl="2"
+ down_thread="false" up_thread="false"
+ enable_bundling="false"/>
<PING timeout="2000" down_thread="false" num_initial_members="3" up_thread="false"/>
- <MERGE2 max_interval="10000" down_thread="false" min_interval="5000" up_thread="false"/>
+ <MERGE2 max_interval="100000" down_thread="false" min_interval="20000" up_thread="false"/>
<FD_SOCK down_thread="false" up_thread="false"/>
- <FD timeout="20000" max_tries="3" down_thread="false" up_thread="false" shun="true"/>
+ <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
<VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
- <pbcast.NAKACK max_xmit_size="8192" down_thread="false" use_mcast_xmit="true" gc_lag="50" up_thread="false"
- retransmit_timeout="100,200,600,1200,2400,4800"/>
- <UNICAST timeout="1200,2400,3600" down_thread="false" up_thread="false"/>
- <pbcast.STABLE stability_delay="1000" desired_avg_gossip="20000" down_thread="false" max_bytes="0" up_thread="false"/>
- <FRAG frag_size="8192" down_thread="false" up_thread="false"/>
- <VIEW_SYNC avg_send_interval="60000" down_thread="false" up_thread="false" />
- <pbcast.GMS print_local_addr="true" join_timeout="3000" down_thread="false" join_retry_timeout="2000" up_thread="false" shun="true"/>
+ <pbcast.NAKACK
+ max_xmit_size="60000"
+ use_mcast_xmit="false"
+ gc_lag="0"
+ retransmit_timeout="300,600,1200,2400,4800"
+ down_thread="false" up_thread="false"
+ discard_delivered_msgs="true"/>
+ <UNICAST timeout="300,600,1200,2400,3600"
+ down_thread="false" up_thread="false"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+ down_thread="false" up_thread="false"
+ max_bytes="400000"/>
+ <pbcast.GMS print_local_addr="true" join_timeout="3000" use_flush="true" flush_timeout="3000"
+ down_thread="false" up_thread="false"
+ join_retry_timeout="2000" shun="false"
+ view_bundling="true"
+ view_ack_collection_timeout="5000"/>
+ <FC max_credits="2000000" down_thread="false" up_thread="false"
+ min_threshold="0.10"/>
+ <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
</config>
</attribute>
- <!-- JGroups stack configuration to use for the control channel - used for bind/unbind requests amongst others -->
-
+ <!-- JGroups stack configuration to use for the control channel - used for control messages -->
+
<attribute name="ControlChannelConfig">
<config>
- <UDP mcast_recv_buf_size="500000" down_thread="false" ip_mcast="true" mcast_send_buf_size="32000"
- mcast_port="45568" ucast_recv_buf_size="500000" use_incoming_packet_handler="false"
- mcast_addr="228.8.8.8" use_outgoing_packet_handler="true" loopback="true" ucast_send_buf_size="32000" ip_ttl="32" />
- <AUTOCONF down_thread="false" up_thread="false"/>
- <PING timeout="2000" down_thread="false" num_initial_members="3" up_thread="false"/>
- <MERGE2 max_interval="10000" down_thread="false" min_interval="5000" up_thread="false"/>
+ <UDP
+ mcast_addr="228.8.8.8"
+ mcast_port="45568"
+ tos="8"
+ ucast_recv_buf_size="20000000"
+ ucast_send_buf_size="640000"
+ mcast_recv_buf_size="25000000"
+ mcast_send_buf_size="640000"
+ loopback="false"
+ discard_incompatible_packets="true"
+ max_bundle_size="64000"
+ max_bundle_timeout="30"
+ use_incoming_packet_handler="true"
+ use_outgoing_packet_handler="false"
+ ip_ttl="2"
+ down_thread="false" up_thread="false"
+ enable_bundling="false"/>
+ <PING timeout="2000"
+ down_thread="false" up_thread="false" num_initial_members="3"/>
+ <MERGE2 max_interval="100000"
+ down_thread="false" up_thread="false" min_interval="20000"/>
<FD_SOCK down_thread="false" up_thread="false"/>
- <FD timeout="20000" max_tries="3" down_thread="false" up_thread="false" shun="true"/>
+ <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
<VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
- <pbcast.NAKACK max_xmit_size="8192" down_thread="false" use_mcast_xmit="true" gc_lag="50" up_thread="false"
- retransmit_timeout="100,200,600,1200,2400,4800"/>
- <UNICAST timeout="1200,2400,3600" down_thread="false" up_thread="false"/>
- <pbcast.STABLE stability_delay="1000" desired_avg_gossip="20000" down_thread="false" max_bytes="0" up_thread="false"/>
- <FRAG frag_size="8192" down_thread="false" up_thread="false"/>
- <VIEW_SYNC avg_send_interval="60000" down_thread="false" up_thread="false" />
- <pbcast.GMS print_local_addr="true" join_timeout="3000" down_thread="false" join_retry_timeout="2000" up_thread="false" shun="true"/>
- <pbcast.STATE_TRANSFER down_thread="false" up_thread="false"/>
- </config>
+ <pbcast.NAKACK max_xmit_size="60000"
+ use_mcast_xmit="false" gc_lag="0"
+ retransmit_timeout="300,600,1200,2400,4800"
+ down_thread="false" up_thread="false"
+ discard_delivered_msgs="true"/>
+ <UNICAST timeout="300,600,1200,2400,3600"
+ down_thread="false" up_thread="false"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+ down_thread="false" up_thread="false"
+ max_bytes="400000"/>
+ <pbcast.GMS print_local_addr="true" join_timeout="3000" use_flush="true" flush_timeout="3000"
+ down_thread="false" up_thread="false"
+ join_retry_timeout="2000" shun="false"
+ view_bundling="true"/>
+ <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
+ <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="true" flush_timeout="3000"/>
+ <pbcast.FLUSH down_thread="false" up_thread="false" timeout="20000" auto_flush_conf="false"/>
+ </config>
</attribute>
</mbean>
Modified: trunk/src/etc/server/default/deploy/mysql-persistence-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/mysql-persistence-service.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/etc/server/default/deploy/mysql-persistence-service.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -40,7 +40,7 @@
CREATE_IDX_MESSAGE_REF_PAGE_ORD=CREATE INDEX JBM_MSG_REF_PAGE_ORD ON JBM_MSG_REF (PAGE_ORD)
CREATE_IDX_MESSAGE_REF_MESSAGE_ID=CREATE INDEX JBM_MSG_REF_MESSAGE_ID ON JBM_MSG_REF (MESSAGE_ID)
CREATE_IDX_MESSAGE_REF_SCHED_DELIVERY=CREATE INDEX JBM_MSG_REF_SCHED_DELIVERY ON JBM_MSG_REF (SCHED_DELIVERY)
- CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY TINYINT, HEADERS MEDIUMBLOB, PAYLOAD LONGBLOB, CHANNEL_COUNT INTEGER, TYPE TINYINT, PRIMARY KEY (MESSAGE_ID)) ENGINE = INNODB
+ CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY TINYINT, HEADERS MEDIUMBLOB, PAYLOAD LONGBLOB, TYPE TINYINT, PRIMARY KEY (MESSAGE_ID)) ENGINE = INNODB
CREATE_TRANSACTION=CREATE TABLE JBM_TX (NODE_ID INTEGER, TRANSACTION_ID BIGINT, BRANCH_QUAL VARBINARY(254), FORMAT_ID INTEGER, GLOBAL_TXID VARBINARY(254), PRIMARY KEY (TRANSACTION_ID)) ENGINE = INNODB
CREATE_COUNTER=CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID BIGINT, PRIMARY KEY(NAME)) ENGINE = INNODB
INSERT_MESSAGE_REF=INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
@@ -60,10 +60,9 @@
UPDATE_DELIVERY_COUNT=UPDATE JBM_MSG_REF SET DELIVERY_COUNT = ? WHERE CHANNEL_ID = ? AND MESSAGE_ID = ?
UPDATE_CHANNEL_ID=UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE CHANNEL_ID = ?
LOAD_MESSAGES=SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE FROM JBM_MSG
- INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, CHANNEL_COUNT, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
- INC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT + 1 WHERE MESSAGE_ID=?
- DEC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT - 1 WHERE MESSAGE_ID=?
- DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND CHANNEL_COUNT=0
+ INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+ DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=?
+ DELETE_PAGED_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND NOT EXISTS (SELECT * FROM JBM_MSG_REF WHERE MESSAGE_ID = ?)
MESSAGE_ID_COLUMN=MESSAGE_ID
MESSAGE_EXISTS=SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID = ? FOR UPDATE
INSERT_TRANSACTION=INSERT INTO JBM_TX (NODE_ID, TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID) VALUES(?, ?, ?, ?, ?)
@@ -179,14 +178,14 @@
<pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
down_thread="false" up_thread="false"
max_bytes="400000"/>
- <pbcast.GMS print_local_addr="true" join_timeout="3000" use_flush="true" flush_timeout="3000"
+ <pbcast.GMS print_local_addr="true" join_timeout="3000"
down_thread="false" up_thread="false"
join_retry_timeout="2000" shun="false"
view_bundling="true"
view_ack_collection_timeout="5000"/>
<FC max_credits="2000000" down_thread="false" up_thread="false"
min_threshold="0.10"/>
- <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
+ <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
</config>
</attribute>
Modified: trunk/src/etc/server/default/deploy/oracle-persistence-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/oracle-persistence-service.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/etc/server/default/deploy/oracle-persistence-service.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -40,7 +40,7 @@
CREATE_IDX_MESSAGE_REF_PAGE_ORD=CREATE INDEX JBM_MSG_REF_PAGE_ORD ON JBM_MSG_REF (PAGE_ORD)
CREATE_IDX_MESSAGE_REF_MESSAGE_ID=CREATE INDEX JBM_MSG_REF_MESSAGE_ID ON JBM_MSG_REF (MESSAGE_ID)
CREATE_IDX_MESSAGE_REF_SCHED_DELIVERY=CREATE INDEX JBM_MSG_REF_SCHED_DELIVERY ON JBM_MSG_REF (SCHED_DELIVERY)
- CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID INTEGER, RELIABLE CHAR(1), EXPIRATION INTEGER, TIMESTAMP INTEGER, PRIORITY INTEGER, HEADERS BLOB, PAYLOAD BLOB, CHANNEL_COUNT INTEGER, TYPE INTEGER, PRIMARY KEY (MESSAGE_ID))
+ CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID INTEGER, RELIABLE CHAR(1), EXPIRATION INTEGER, TIMESTAMP INTEGER, PRIORITY INTEGER, HEADERS BLOB, PAYLOAD BLOB, TYPE INTEGER, PRIMARY KEY (MESSAGE_ID))
CREATE_TRANSACTION=CREATE TABLE JBM_TX (NODE_ID INTEGER, TRANSACTION_ID INTEGER, BRANCH_QUAL RAW(254), FORMAT_ID INTEGER, GLOBAL_TXID RAW(254), PRIMARY KEY (TRANSACTION_ID))
CREATE_COUNTER=CREATE TABLE JBM_COUNTER (NAME VARCHAR2(255), NEXT_ID INTEGER, PRIMARY KEY(NAME))
INSERT_MESSAGE_REF=INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
@@ -60,10 +60,9 @@
UPDATE_DELIVERY_COUNT=UPDATE JBM_MSG_REF SET DELIVERY_COUNT = ? WHERE CHANNEL_ID = ? AND MESSAGE_ID = ?
UPDATE_CHANNEL_ID=UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE CHANNEL_ID = ?
LOAD_MESSAGES=SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE FROM JBM_MSG
- INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, CHANNEL_COUNT, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
- INC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT + 1 WHERE MESSAGE_ID=?
- DEC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT - 1 WHERE MESSAGE_ID=?
- DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND CHANNEL_COUNT=0
+ INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+ DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=?
+ DELETE_PAGED_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND NOT EXISTS (SELECT * FROM JBM_MSG_REF WHERE MESSAGE_ID = ?)
MESSAGE_ID_COLUMN=MESSAGE_ID
MESSAGE_EXISTS=SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID = ? FOR UPDATE
INSERT_TRANSACTION=INSERT INTO JBM_TX (NODE_ID, TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID) VALUES(?, ?, ?, ?, ?)
Modified: trunk/src/etc/server/default/deploy/postgresql-persistence-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/postgresql-persistence-service.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/etc/server/default/deploy/postgresql-persistence-service.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -40,7 +40,7 @@
CREATE_IDX_MESSAGE_REF_PAGE_ORD=CREATE INDEX JBM_MSG_REF_PAGE_ORD ON JBM_MSG_REF (PAGE_ORD)
CREATE_IDX_MESSAGE_REF_MESSAGE_ID=CREATE INDEX JBM_MSG_REF_MESSAGE_ID ON JBM_MSG_REF (MESSAGE_ID)
CREATE_IDX_MESSAGE_REF_SCHED_DELIVERY=CREATE INDEX JBM_MSG_REF_SCHED_DELIVERY ON JBM_MSG_REF (SCHED_DELIVERY)
- CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY SMALLINT, HEADERS BYTEA, PAYLOAD BYTEA, CHANNEL_COUNT INTEGER, TYPE SMALLINT, PRIMARY KEY (MESSAGE_ID))
+ CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY SMALLINT, HEADERS BYTEA, PAYLOAD BYTEA, TYPE SMALLINT, PRIMARY KEY (MESSAGE_ID))
CREATE_TRANSACTION=CREATE TABLE JBM_TX (NODE_ID INTEGER, TRANSACTION_ID BIGINT, BRANCH_QUAL BYTEA, FORMAT_ID INTEGER, GLOBAL_TXID BYTEA, PRIMARY KEY (TRANSACTION_ID))
CREATE_COUNTER=CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID BIGINT, PRIMARY KEY(NAME))
INSERT_MESSAGE_REF=INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
@@ -60,10 +60,9 @@
UPDATE_DELIVERY_COUNT=UPDATE JBM_MSG_REF SET DELIVERY_COUNT = ? WHERE CHANNEL_ID = ? AND MESSAGE_ID = ?
UPDATE_CHANNEL_ID=UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE CHANNEL_ID = ?
LOAD_MESSAGES=SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE FROM JBM_MSG
- INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, CHANNEL_COUNT, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
- INC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT + 1 WHERE MESSAGE_ID=?
- DEC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT - 1 WHERE MESSAGE_ID=?
- DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND CHANNEL_COUNT=0
+ INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+ DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=?
+ DELETE_PAGED_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND NOT EXISTS (SELECT * FROM JBM_MSG_REF WHERE MESSAGE_ID = ?)
MESSAGE_ID_COLUMN=MESSAGE_ID
MESSAGE_EXISTS=SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID = ? FOR UPDATE
INSERT_TRANSACTION=INSERT INTO JBM_TX (NODE_ID, TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID) VALUES(?, ?, ?, ?, ?)
Modified: trunk/src/etc/server/default/deploy/sybase-persistence-service.xml
===================================================================
--- trunk/src/etc/server/default/deploy/sybase-persistence-service.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/etc/server/default/deploy/sybase-persistence-service.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -45,7 +45,7 @@
CREATE_IDX_MESSAGE_REF_PAGE_ORD=CREATE INDEX JBM_MSG_REF_PAGE_ORD ON JBM_MSG_REF (PAGE_ORD)
CREATE_IDX_MESSAGE_REF_MESSAGE_ID=CREATE INDEX JBM_MSG_REF_MESSAGE_ID ON JBM_MSG_REF (MESSAGE_ID)
CREATE_IDX_MESSAGE_REF_SCHED_DELIVERY=CREATE INDEX JBM_MSG_REF_SCHED_DELIVERY ON JBM_MSG_REF (SCHED_DELIVERY)
- CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID DECIMAL(19, 0), RELIABLE CHAR(1), EXPIRATION DECIMAL(19, 0), TIMESTAMP DECIMAL(19, 0), PRIORITY TINYINT, HEADERS IMAGE NULL, PAYLOAD IMAGE NULL, CHANNEL_COUNT INTEGER, TYPE TINYINT, PRIMARY KEY (MESSAGE_ID))
+ CREATE_MESSAGE=CREATE TABLE JBM_MSG (MESSAGE_ID DECIMAL(19, 0), RELIABLE CHAR(1), EXPIRATION DECIMAL(19, 0), TIMESTAMP DECIMAL(19, 0), PRIORITY TINYINT, HEADERS IMAGE NULL, PAYLOAD IMAGE NULL, TYPE TINYINT, PRIMARY KEY (MESSAGE_ID))
CREATE_TRANSACTION=CREATE TABLE JBM_TX (NODE_ID INTEGER, TRANSACTION_ID DECIMAL(19, 0), BRANCH_QUAL VARBINARY(254) NULL, FORMAT_ID INTEGER NULL, GLOBAL_TXID VARBINARY(254) NULL, PRIMARY KEY (TRANSACTION_ID))
CREATE_COUNTER=CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID DECIMAL(19, 0), PRIMARY KEY(NAME))
INSERT_MESSAGE_REF=INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
@@ -65,10 +65,9 @@
UPDATE_DELIVERY_COUNT=UPDATE JBM_MSG_REF SET DELIVERY_COUNT = ? WHERE CHANNEL_ID = ? AND MESSAGE_ID = ?
UPDATE_CHANNEL_ID=UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE CHANNEL_ID = ?
LOAD_MESSAGES=SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE FROM JBM_MSG
- INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, CHANNEL_COUNT, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
- INC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT + 1 WHERE MESSAGE_ID=?
- DEC_CHANNEL_COUNT=UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT - 1 WHERE MESSAGE_ID=?
- DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND CHANNEL_COUNT=0
+ INSERT_MESSAGE=INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
+ DELETE_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=?
+ DELETE_PAGED_MESSAGE=DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND NOT EXISTS (SELECT * FROM JBM_MSG_REF WHERE MESSAGE_ID = ?)
MESSAGE_ID_COLUMN=MESSAGE_ID
MESSAGE_EXISTS=SELECT MESSAGE_ID FROM JBM_MSG HOLDLOCK WHERE MESSAGE_ID = ?
INSERT_TRANSACTION=INSERT INTO JBM_TX (NODE_ID, TRANSACTION_ID, BRANCH_QUAL, FORMAT_ID, GLOBAL_TXID) VALUES(?, ?, ?, ?, ?)
Modified: trunk/src/main/org/jboss/jms/server/ServerPeer.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/ServerPeer.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/jms/server/ServerPeer.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -1487,7 +1487,20 @@
{
return false;
}
-
+
+ JMSCondition condition = new JMSCondition(isQueue, name);
+
+ Collection queues = postOffice.getQueuesForCondition(condition, true);
+
+ Iterator iter = queues.iterator();
+
+ while (iter.hasNext())
+ {
+ Queue queue = (Queue)iter.next();
+
+ queue.removeAllReferences();
+ }
+
//undeploy the mbean
if (!undeployDestination(isQueue, name))
{
@@ -1496,16 +1509,18 @@
//Unbind the destination's queues
- JMSCondition condition = new JMSCondition(isQueue, name);
+ log.info("Destroying destination " + name);
- Collection queues = postOffice.getQueuesForCondition(condition, true);
-
- Iterator iter = queues.iterator();
-
+ log.info("Got queues " + queues.size());
+
while (iter.hasNext())
{
Queue queue = (Queue)iter.next();
+ log.info("Queue is " + queue);
+
+ queue.removeAllReferences();
+
//Durable subs need to be removed on all nodes
boolean all = !isQueue && queue.isRecoverable();
Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -669,58 +669,46 @@
// handling is complete. Each channel then takes copies of the reference if they decide to
// maintain it internally
- MessageReference ref = null;
+ MessageReference ref = msg.createReference();
- try
- {
- ref = ms.reference(msg);
-
- long schedDeliveryTime = msg.getScheduledDeliveryTime();
-
- if (schedDeliveryTime > 0)
- {
- ref.setScheduledDeliveryTime(schedDeliveryTime);
- }
-
- if (dest.isDirect())
- {
- //Route directly to queue - temp kludge for clustering
-
- Binding binding = postOffice.getBindingForQueueName(dest.getName());
-
- if (binding == null)
- {
- throw new IllegalArgumentException("Cannot find binding for queue " + dest.getName());
- }
-
- Queue queue = binding.queue;
-
- Delivery del = queue.handle(null, ref, tx);
-
- if (del == null)
- {
- throw new JMSException("Failed to route " + ref + " to " + dest.getName());
- }
- }
- else if (dest.isQueue())
- {
- if (!postOffice.route(ref, new JMSCondition(true, dest.getName()), tx))
- {
- throw new JMSException("Failed to route " + ref + " to " + dest.getName());
- }
- }
- else
- {
- postOffice.route(ref, new JMSCondition(false, dest.getName()), tx);
- }
+ long schedDeliveryTime = msg.getScheduledDeliveryTime();
+
+ if (schedDeliveryTime > 0)
+ {
+ ref.setScheduledDeliveryTime(schedDeliveryTime);
}
- finally
+
+ if (dest.isDirect())
{
- if (ref != null)
+ //Route directly to queue - temp kludge for clustering
+
+ Binding binding = postOffice.getBindingForQueueName(dest.getName());
+
+ if (binding == null)
+ {
+ throw new IllegalArgumentException("Cannot find binding for queue " + dest.getName());
+ }
+
+ Queue queue = binding.queue;
+
+ Delivery del = queue.handle(null, ref, tx);
+
+ if (del == null)
+ {
+ throw new JMSException("Failed to route " + ref + " to " + dest.getName());
+ }
+ }
+ else if (dest.isQueue())
+ {
+ if (!postOffice.route(ref, new JMSCondition(true, dest.getName()), tx))
{
- ref.releaseMemoryReference();
+ throw new JMSException("Failed to route " + ref + " to " + dest.getName());
}
}
+ else
+ {
+ postOffice.route(ref, new JMSCondition(false, dest.getName()), tx);
+ }
if (trace) { log.trace("sent " + msg); }
}
Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -1718,12 +1718,13 @@
{
Transaction tx = tr.createTransaction();
- MessageReference ref = ms.reference(msg);
+ MessageReference ref = msg.createReference();
try
{
if (queue != null)
- {
+ {
+ msg.setPersistentCount(1);
queue.handle(null, ref, tx);
del.acknowledge(tx);
}
@@ -1741,13 +1742,6 @@
tx.rollback();
throw t;
}
- finally
- {
- if (ref != null)
- {
- ref.releaseMemoryReference();
- }
- }
//Need to prompt delivery on the dlq/expiry queue
Modified: trunk/src/main/org/jboss/messaging/core/contract/Message.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/contract/Message.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/contract/Message.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -140,20 +140,24 @@
/**
*
- * @return true if the message has already been persisted
+ * @return the type of the message
*/
- boolean isPersisted();
+ byte getType();
- /**
- * Set the message's persisted state to the specified value
- * @param persisted
+ /*
+ * @return a reference for this message
*/
- void setPersisted(boolean persisted);
+ MessageReference createReference();
- /**
- *
- * @return the type of the message
- */
- byte getType();
+ void setPersistentCount(int count);
+ int getPersistentCount();
+
+ void incrementPersistentCount();
+
+ void decrementPersistentCount();
+
+ boolean isPersisted();
+
+ void setPersisted(boolean persisted);
}
Modified: trunk/src/main/org/jboss/messaging/core/contract/MessageReference.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/contract/MessageReference.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/contract/MessageReference.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -39,13 +39,11 @@
long getPagingOrder();
void setPagingOrder(long order);
+
+ Message getMessage();
- void releaseMemoryReference();
-
MessageReference copy();
- Message getMessage();
-
/**
*
* @return The time in the future that delivery will be delayed until, or zero if
@@ -60,5 +58,5 @@
*/
int getDeliveryCount();
- void setDeliveryCount(int deliveryCount);
+ void setDeliveryCount(int deliveryCount);
}
Modified: trunk/src/main/org/jboss/messaging/core/contract/MessageStore.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/contract/MessageStore.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/contract/MessageStore.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -8,7 +8,9 @@
/**
- * An interface to a referencing/dereferencing message store.
+ * When loading a message from storage, references from different channels can reference the same message.
+ * In order to avoid loading the message more than once, loaded or paged references are stored in the message store
+ *
*
* @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
* @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
@@ -18,27 +20,7 @@
*/
public interface MessageStore extends MessagingComponent
{
- /**
- * Message m is stored in the store if it is not already known to the store, then
- * a new MessageReference is returned for the Message
- *
- * @param m The Message for which to create the MessageReference
- * @return The new MessageReference
- */
- MessageReference reference(Message m);
-
- /**
- * Return a new reference for a message already stored in the store and identified by <messageID>
- * @param messageID
- * @return The reference or null if the message is not already stored in the store
- */
- MessageReference reference(long messageID);
-
- /**
- * Remove a message from the store
- *
- * @param messageID
- * @return
- */
- public boolean forgetMessage(long messageID);
+ MessageReference reference(long messageID);
+
+ MessageReference reference(Message message);
}
Modified: trunk/src/main/org/jboss/messaging/core/contract/PersistenceManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/contract/PersistenceManager.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/contract/PersistenceManager.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -39,6 +39,11 @@
*/
public interface PersistenceManager extends MessagingComponent
{
+ void setPaging(long channelID, boolean paging);
+
+ boolean isPaging();
+
+
void addReference(long channelID, MessageReference ref, Transaction tx) throws Exception;
void removeReference(long channelID, MessageReference ref, Transaction tx) throws Exception;
Modified: trunk/src/main/org/jboss/messaging/core/impl/ChannelSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/ChannelSupport.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/ChannelSupport.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -75,8 +75,6 @@
protected Distributor distributor;
- protected MessageStore ms;
-
protected boolean receiversReady;
protected PriorityLinkedList messageRefs;
@@ -106,13 +104,11 @@
// Constructors ---------------------------------------------------------------------------------
- protected ChannelSupport(long channelID, MessageStore ms, PersistenceManager pm,
+ protected ChannelSupport(long channelID, PersistenceManager pm,
boolean recoverable, int maxSize)
{
if (trace) { log.trace("creating " + (pm != null ? "recoverable " : "non-recoverable ") + "channel[" + channelID + "]"); }
- this.ms = ms;
-
this.pm = pm;
this.channelID = channelID;
@@ -615,7 +611,7 @@
{
// Reliable message in a recoverable state - also add to db
if (trace) { log.trace(this + " adding " + ref + " to database non-transactionally"); }
-
+
// TODO - this db access could safely be done outside the event loop
pm.addReference(channelID, ref, null);
}
@@ -657,8 +653,6 @@
{
log.error("Failed to handle message", t);
- ref.releaseMemoryReference();
-
return null;
}
@@ -694,14 +688,12 @@
protected void acknowledgeInternal(Delivery d, Transaction tx, boolean persist) throws Exception
{
if (tx == null)
- {
+ {
if (persist && recoverable && d.getReference().getMessage().isReliable())
{
pm.removeReference(channelID, d.getReference(), null);
}
- d.getReference().releaseMemoryReference();
-
if (!d.isRecovered())
{
deliveringCount.decrement();
@@ -878,8 +870,6 @@
if (trace) { log.trace(this + " removing " + del + " after commit"); }
- del.getReference().releaseMemoryReference();
-
if (!del.isRecovered())
{
deliveringCount.decrement();
@@ -905,13 +895,7 @@
public void afterRollback(boolean onePhase) throws Exception
{
- for(Iterator i = refsToAdd.iterator(); i.hasNext(); )
- {
- MessageReference ref = (MessageReference)i.next();
-
- if (trace) { log.trace(this + " releasing memory " + ref + " after rollback"); }
- ref.releaseMemoryReference();
- }
+ //NOOP
}
public String toString()
Modified: trunk/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -100,6 +100,9 @@
private int nodeID;
private boolean nodeIDSet;
+
+ private Set pagingSet = new HashSet();
+
// Constructors --------------------------------------------------
@@ -177,10 +180,28 @@
this.nodeID = nodeID;
this.nodeIDSet = true;
- }
+ }
// PersistenceManager implementation -------------------------
+ public synchronized void setPaging(long channelID, boolean paging)
+ {
+ Long l = new Long(channelID);
+ if (paging)
+ {
+ pagingSet.add(l);
+ }
+ else
+ {
+ pagingSet.remove(l);
+ }
+ }
+
+ public synchronized boolean isPaging()
+ {
+ return !pagingSet.isEmpty();
+ }
+
// Related to XA Recovery
// ======================
@@ -313,7 +334,7 @@
ps.setString(1, counterName);
ps.setLong(2, size);
- int rows = updateWithRetry(ps);
+ int rows = executeWithRetry(ps);
if (trace) { log.trace(JDBCUtil.statementToString(insertCounterSQL, counterName, new Integer(size)) + " inserted " + rows + " rows"); }
ps.close();
@@ -335,7 +356,7 @@
ps.setLong(1, nextId + size);
ps.setString(2, counterName);
- int rows = updateWithRetry(ps);
+ int rows = executeWithRetry(ps);
if (trace) { log.trace(JDBCUtil.statementToString(updateCounterSQL, new Long(nextId + size), counterName) + " updated " + rows + " rows"); }
return nextId;
@@ -482,14 +503,13 @@
// Related to paging functionality
// ===============================
- public void pageReferences(long channelID, List references, boolean paged) throws Exception
+ //Used to page NP messages or P messages in a non recoverable queue
+ public void pageReferences(long channelID, List references, boolean page) throws Exception
{
Connection conn = null;
PreparedStatement psInsertReference = null;
- PreparedStatement psInsertMessage = null;
- PreparedStatement psUpdateMessage = null;
+ PreparedStatement psInsertMessage = null;
PreparedStatement psMessageExists = null;
- ResultSet rsMessageExists = null;
TransactionWrapper wrap = new TransactionWrapper();
//First we order the references in message order
@@ -503,23 +523,21 @@
conn = ds.getConnection();
Iterator iter = references.iterator();
-
- boolean messageInsertsInBatch = false;
- boolean messageUpdatesInBatch = false;
-
+
psInsertReference = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE_REF"));
psInsertMessage = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("INC_CHANNEL_COUNT"));
-
+
+ boolean added = false;
+
while (iter.hasNext())
{
//We may need to persist the message itself
MessageReference ref = (MessageReference) iter.next();
//For non reliable refs we insert the ref (and maybe the message) itself
-
+
//Now store the reference
- addReference(channelID, ref, psInsertReference, paged);
+ addReference(channelID, ref, psInsertReference, page);
if (usingBatchUpdates)
{
@@ -527,7 +545,7 @@
}
else
{
- int rows = updateWithRetry(psInsertReference);
+ int rows = executeWithRetry(psInsertReference);
if (trace)
{
@@ -537,106 +555,68 @@
//Maybe we need to persist the message itself
Message m = ref.getMessage();
-
- //In a paging situation, we cannot use the persisted flag on the message to determine whether
- //to insert the message or not.
- //This is because a channel (possibly on another node) may be paging too and referencing
- //the same message, and might have removed the message independently, the other
- //channel will not know about this.
- //Therefore we have to check if the message is already in the database and insert it if it isn't
-
- //TODO This is a bit of a hassle -
- //A cleaner and better solution here is to completely separate out the paging functionality from the
- //standard persistence functionality since it complicates things considerably.
- //We should define a paging store which is separate from the persistence store, and
- //typically not using the database for the paging store - probably use a file based store
- //e.g HOWL or some other logger
-
- //Note when running this with two or more competing channels in the same process, then
- //we do not need a FOR UPDATE on the select since we lock the messages in memory
- //However for competing nodes, we do, therefore we require a database that supports
- //this, this is another reason why we cannot use HSQL in a clustered environment
- //since it does not have a for update equivalent
-
- boolean added;
-
- psMessageExists = conn.prepareStatement(getSQLStatement("MESSAGE_EXISTS"));
-
- psMessageExists.setLong(1, m.getMessageID());
-
- rsMessageExists = psMessageExists.executeQuery();
-
- if (rsMessageExists.next())
- {
- //Message exists
-
- // Update the message with the new channel count
- incrementChannelCount(m, psUpdateMessage);
-
- added = false;
- }
- else
- {
- //Hasn't been persisted before so need to persist the message
- storeMessage(m, psInsertMessage);
-
- added = true;
+
+ if (!m.isPersisted())
+ {
+ //The message might actually already exist due to it already being paged
+
+ if (psMessageExists == null)
+ {
+ psMessageExists = conn.prepareStatement(getSQLStatement("MESSAGE_EXISTS"));
+ }
+
+ psMessageExists.setLong(1, m.getMessageID());
+
+ ResultSet rs = null;
+
+ try
+ {
+ rs = psMessageExists.executeQuery();
+
+ if (!rs.next())
+ {
+ storeMessage(m, psInsertMessage);
+
+ added = true;
+ }
+ }
+ finally
+ {
+ if (rs != null)
+ {
+ rs.close();
+ }
+ }
}
- if (usingBatchUpdates)
+ if (added)
{
- if (added)
- {
- psInsertMessage.addBatch();
- messageInsertsInBatch = true;
- }
- else
- {
- psUpdateMessage.addBatch();
- messageUpdatesInBatch = true;
- }
+ if (usingBatchUpdates)
+ {
+ psInsertMessage.addBatch();
+ }
+ else
+ {
+ int rows = executeWithRetry(psInsertMessage);
+
+ if (trace) { log.trace("Inserted " + rows + " rows"); }
+ }
+ m.setPersisted(true);
}
- else
- {
- if (added)
- {
- int rows = updateWithRetry(psInsertMessage);
-
- if (trace)
- {
- log.trace("Inserted " + rows + " rows");
- }
- }
- else
- {
- int rows = updateWithRetry(psUpdateMessage);
-
- if (trace)
- {
- log.trace("Updated " + rows + " rows");
- }
- }
- }
}
if (usingBatchUpdates)
{
- int[] rowsReference = updateWithRetryBatch(psInsertReference);
+ int[] rowsReference = executeWithRetryBatch(psInsertReference);
if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE_REF"), rowsReference, "inserted"); }
- if (messageInsertsInBatch)
+ if (added)
{
- int[] rowsMessage = updateWithRetryBatch(psInsertMessage);
+ int[] rowsMessage = executeWithRetryBatch(psInsertMessage);
if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE"), rowsMessage, "inserted"); }
}
- if (messageUpdatesInBatch)
- {
- int[] rowsMessage = updateWithRetryBatch(psUpdateMessage);
-
- if (trace) { logBatchUpdate(getSQLStatement("INC_CHANNEL_COUNT"), rowsMessage, "updated"); }
- }
}
}
catch (Exception e)
@@ -648,7 +628,7 @@
{
closeStatement(psInsertReference);
closeStatement(psInsertMessage);
- closeStatement(psUpdateMessage);
+ closeStatement(psMessageExists);
closeConnection(conn);
try
{
@@ -662,6 +642,7 @@
}
}
+ //After loading paged refs this is used to remove any NP or P messages in a unrecoverable channel
public void removeDepagedReferences(long channelID, List references) throws Exception
{
if (trace) { log.trace(this + " Removing " + references.size() + " refs from channel " + channelID); }
@@ -669,7 +650,6 @@
Connection conn = null;
PreparedStatement psDeleteReference = null;
PreparedStatement psDeleteMessage = null;
- PreparedStatement psUpdateMessage = null;
TransactionWrapper wrap = new TransactionWrapper();
//We order the references
@@ -685,9 +665,8 @@
Iterator iter = references.iterator();
psDeleteReference = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE_REF"));
- psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
-
+ psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_PAGED_MESSAGE"));
+
while (iter.hasNext())
{
MessageReference ref = (MessageReference) iter.next();
@@ -700,7 +679,7 @@
}
else
{
- int rows = updateWithRetry(psDeleteReference);
+ int rows = executeWithRetry(psDeleteReference);
if (trace) { log.trace("Deleted " + rows + " rows"); }
}
@@ -709,45 +688,33 @@
//Maybe we need to delete the message itself
- //Update the message with the new channel count
- decrementChannelCount(m, psUpdateMessage);
-
-
- //Run the remove message update
- removeMessage(m, psDeleteMessage);
+ psDeleteMessage.setLong(1, m.getMessageID());
+ psDeleteMessage.setLong(2, m.getMessageID());
if (usingBatchUpdates)
{
- psUpdateMessage.addBatch();
-
psDeleteMessage.addBatch();
}
else
{
- int rows = updateWithRetry(psUpdateMessage);
-
- if (trace) { log.trace("Updated " + rows + " rows"); }
-
- rows = updateWithRetry(psDeleteMessage);
+ int rows = executeWithRetry(psDeleteMessage);
if (trace) { log.trace("Deleted " + rows + " rows"); }
}
+ ref.getMessage().setPersisted(false);
+
}
if (usingBatchUpdates)
{
- int[] rowsReference = updateWithRetryBatch(psDeleteReference);
+ int[] rowsReference = executeWithRetryBatch(psDeleteReference);
if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE_REF"), rowsReference, "deleted"); }
+
+ rowsReference = executeWithRetryBatch(psDeleteMessage);
- rowsReference = updateWithRetryBatch(psUpdateMessage);
-
- if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNEL_COUNT"), rowsReference, "updated"); }
-
- rowsReference = updateWithRetryBatch(psDeleteMessage);
-
- if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rowsReference, "deleted"); }
+ if (trace) { logBatchUpdate(getSQLStatement("DELETE_PAGED_MESSAGE"), rowsReference, "deleted"); }
}
}
catch (Exception e)
@@ -759,7 +726,6 @@
{
closeStatement(psDeleteReference);
closeStatement(psDeleteMessage);
- closeStatement(psUpdateMessage);
closeConnection(conn);
try
{
@@ -773,6 +739,7 @@
}
}
+ // After loading paged refs this is used to update P messages to non paged
public void updateReferencesNotPagedInRange(long channelID, long orderStart, long orderEnd, long num) throws Exception
{
if (trace) { log.trace("Updating paaged references for channel " + channelID + " between " + orderStart + " and " + orderEnd); }
@@ -793,7 +760,7 @@
ps.setLong(3, channelID);
- int rows = updateWithRetry(ps);
+ int rows = executeWithRetry(ps);
if (trace) { log.trace(JDBCUtil.statementToString(getSQLStatement("UPDATE_REFS_NOT_PAGED"), new Long(channelID),
new Long(orderStart), new Long(orderEnd)) + " updated " + rows + " rows"); }
@@ -817,7 +784,7 @@
}
}
- public void mergeTransactions (long fromChannelID, long toChannelID) throws Exception
+ public void mergeTransactions(long fromChannelID, long toChannelID) throws Exception
{
if (trace) { log.trace("Merging transactions from channel " + fromChannelID + " to " + toChannelID); }
@@ -979,7 +946,7 @@
ps2.setLong(3, fromChannelID);
- int rows = updateWithRetry(ps2);
+ int rows = executeWithRetry(ps2);
if (trace) { log.trace("Update page ord updated " + rows + " rows"); }
@@ -996,7 +963,7 @@
ps.setLong(2, fromChannelID);
- int rows = updateWithRetry(ps);
+ int rows = executeWithRetry(ps);
if (trace) { log.trace("Update channel id updated " + rows + " rows"); }
@@ -1055,7 +1022,7 @@
}
else
{
- int rows = updateWithRetry(psUpdateReference);
+ int rows = executeWithRetry(psUpdateReference);
if (trace) { log.trace("Updated " + rows + " rows"); }
}
@@ -1063,7 +1030,7 @@
if (usingBatchUpdates)
{
- int[] rowsReference = updateWithRetryBatch(psUpdateReference);
+ int[] rowsReference = executeWithRetryBatch(psUpdateReference);
if (trace) { logBatchUpdate(getSQLStatement("UPDATE_PAGE_ORDER"), rowsReference, "updated"); }
}
@@ -1281,7 +1248,7 @@
// Add the reference
addReference(channelID, ref, psReference, false);
- int rows = updateWithRetry(psReference);
+ int rows = executeWithRetry(psReference);
if (trace) { log.trace("Inserted " + rows + " rows"); }
@@ -1293,20 +1260,13 @@
storeMessage(m, psMessage);
m.setPersisted(true);
+
+ rows = executeWithRetry(psMessage);
+
+ if (trace) { log.trace("Inserted/updated " + rows + " rows"); }
+
+ log.trace("message Inserted/updated " + rows + " rows");
}
- else
- {
- //Update the message's channel count
- psMessage = conn.prepareStatement(getSQLStatement("INC_CHANNEL_COUNT"));
-
- incrementChannelCount(m, psMessage);
- }
-
- rows = updateWithRetry(psMessage);
-
- if (trace) { log.trace("Inserted/updated " + rows + " rows"); }
-
- log.trace("message Inserted/updated " + rows + " rows");
}
catch (Exception e)
{
@@ -1349,7 +1309,7 @@
psReference.setLong(3, ref.getMessage().getMessageID());
- int rows = updateWithRetry(psReference);
+ int rows = executeWithRetry(psReference);
if (trace) { log.trace("Updated " + rows + " rows"); }
}
@@ -1383,7 +1343,6 @@
TransactionWrapper wrap = new TransactionWrapper();
PreparedStatement psReference = null;
- PreparedStatement psUpdate = null;
PreparedStatement psMessage = null;
Connection conn = ds.getConnection();
@@ -1399,9 +1358,9 @@
//Remove the message reference
removeReference(channelID, ref, psReference);
+
+ int rows = executeWithRetry(psReference);
- int rows = updateWithRetry(psReference);
-
if (rows != 1)
{
log.warn("Failed to remove row for: " + ref);
@@ -1410,25 +1369,34 @@
if (trace) { log.trace("Deleted " + rows + " rows"); }
- //Update the messages channel count
+ ref.getMessage().decrementPersistentCount();
- psUpdate = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
-
- decrementChannelCount(m, psUpdate);
-
- rows = updateWithRetry(psUpdate);
-
- if (trace) { log.trace("Updated " + rows + " rows"); }
-
- //Delete the message (if necessary)
-
- psMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
-
- removeMessage(m, psMessage);
+ if (ref.getMessage().getPersistentCount() == 0)
+ {
+ if (trace) { log.trace("Last reference so deleting message"); }
+
+ //Delete the message (if necessary)
+
+ if (this.isPaging())
+ {
+ //There is a possibility there are paged refs holding the message so we need to do a conditional delete
+ psMessage = conn.prepareStatement(getSQLStatement("DELETE_PAGED_MESSAGE"));
+
+ psMessage.setLong(1, m.getMessageID());
+
+ psMessage.setLong(2, m.getMessageID());
+ }
+ else
+ {
+ psMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
+
+ psMessage.setLong(1, m.getMessageID());
+ }
- rows = updateWithRetry(psMessage);
+ rows = executeWithRetry(psMessage);
- if (trace) { log.trace("Delete " + rows + " rows"); }
+ if (trace) { log.trace("Delete " + rows + " rows"); }
+ }
}
catch (Exception e)
{
@@ -1438,7 +1406,6 @@
finally
{
closeStatement(psReference);
- closeStatement(psUpdate);
closeStatement(psMessage);
closeConnection(conn);
try
@@ -1557,8 +1524,6 @@
Connection conn = null;
PreparedStatement psReference = null;
PreparedStatement psInsertMessage = null;
- PreparedStatement psIncMessage = null;
- PreparedStatement psDecMessage = null;
PreparedStatement psDeleteMessage = null;
TransactionWrapper wrap = new TransactionWrapper();
@@ -1572,22 +1537,14 @@
// First the adds
boolean messageInsertsInBatch = false;
- boolean messageUpdatesInBatch = false;
boolean batch = usingBatchUpdates && refsToAdd.size() > 0;
- if (batch)
+ for (Iterator i = refsToAdd.iterator(); i.hasNext(); )
{
- psReference = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE_REF"));
- psInsertMessage = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE"));
- psIncMessage = conn.prepareStatement(getSQLStatement("INC_CHANNEL_COUNT"));
- }
-
- for(Iterator i = refsToAdd.iterator(); i.hasNext(); )
- {
ChannelRefPair pair = (ChannelRefPair)i.next();
MessageReference ref = pair.ref;
- if (!batch)
+ if (batch && psReference == null || !batch)
{
psReference = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE_REF"));
}
@@ -1601,7 +1558,7 @@
}
else
{
- int rows = updateWithRetry(psReference);
+ int rows = executeWithRetry(psReference);
if (trace) { log.trace("Inserted " + rows + " rows"); }
@@ -1611,60 +1568,32 @@
Message m = ref.getMessage();
- if (!batch)
- {
- psInsertMessage = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE"));
- psIncMessage = conn.prepareStatement(getSQLStatement("INC_CHANNEL_COUNT"));
- }
-
- boolean added;
if (!m.isPersisted())
- {
+ {
+ if (batch && psInsertMessage == null || !batch)
+ {
+ psInsertMessage = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE"));
+ }
+
// First time so add message
storeMessage(m, psInsertMessage);
- added = true;
m.setPersisted(true);
- }
- else
- {
- // Update message channel count
- incrementChannelCount(m, psIncMessage);
- added = false;
- }
-
- if (batch)
- {
- if (added)
- {
+
+ if (batch)
+ {
psInsertMessage.addBatch();
if (trace) { log.trace("Message does not already exist so inserting it"); }
- messageInsertsInBatch = true;
- }
- else
- {
- if (trace) { log.trace("Message already exists so updating count"); }
- psIncMessage.addBatch();
- messageUpdatesInBatch = true;
- }
- }
- else
- {
- if (added)
- {
+ messageInsertsInBatch = true;
+ }
+ else
+ {
if (trace) { log.trace("Message does not already exist so inserting it"); }
- int rows = updateWithRetry(psInsertMessage);
+ int rows = executeWithRetry(psInsertMessage);
if (trace) { log.trace("Inserted " + rows + " rows"); }
- }
- else
- {
- if (trace) { log.trace("Message already exists so updating count"); }
- int rows = updateWithRetry(psIncMessage);
- if (trace) { log.trace("Updated " + rows + " rows"); }
- }
- psInsertMessage.close();
- psInsertMessage = null;
- psIncMessage.close();
- psIncMessage = null;
+
+ psInsertMessage.close();
+ psInsertMessage = null;
+ }
}
}
@@ -1672,28 +1601,20 @@
{
// Process the add batch
- int[] rowsReference = updateWithRetryBatch(psReference);
+ int[] rowsReference = executeWithRetryBatch(psReference);
if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE_REF"), rowsReference, "inserted"); }
if (messageInsertsInBatch)
{
- int[] rowsMessage = updateWithRetryBatch(psInsertMessage);
+ int[] rowsMessage = executeWithRetryBatch(psInsertMessage);
if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE"), rowsMessage, "inserted"); }
}
- if (messageUpdatesInBatch)
- {
- int[] rowsMessage = updateWithRetryBatch(psIncMessage);
- if (trace) { logBatchUpdate(getSQLStatement("INC_CHANNEL_COUNT"), rowsMessage, "updated"); }
- }
-
psReference.close();
psReference = null;
psInsertMessage.close();
psInsertMessage = null;
- psIncMessage.close();
- psIncMessage = null;
}
// Now the removes
@@ -1701,20 +1622,16 @@
psReference = null;
psDeleteMessage = null;
batch = usingBatchUpdates && refsToRemove.size() > 0;
-
- if (batch)
- {
- psReference = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE_REF"));
- psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
- psDecMessage = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
- }
-
- for(Iterator i = refsToRemove.iterator(); i.hasNext(); )
+ boolean messageDeletesInBatch = false;
+
+ boolean pagng = this.isPaging();
+
+ for (Iterator i = refsToRemove.iterator(); i.hasNext(); )
{
ChannelRefPair pair = (ChannelRefPair)i.next();
- if (!batch)
+ if (batch && psReference == null || !batch)
{
psReference = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE_REF"));
}
@@ -1727,70 +1644,77 @@
}
else
{
- int rows = updateWithRetry(psReference);
+ int rows = executeWithRetry(psReference);
if (trace) { log.trace("Deleted " + rows + " rows"); }
psReference.close();
psReference = null;
}
-
- if (!batch)
- {
- psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
- psDecMessage = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
- }
-
+
Message m = pair.ref.getMessage();
-
- // Update the channel count
- decrementChannelCount(m, psDecMessage);
+ m.decrementPersistentCount();
- // Delete the message (if necessary)
-
- removeMessage(m, psDeleteMessage);
-
- if (batch)
- {
- psDecMessage.addBatch();
- psDeleteMessage.addBatch();
+ if (m.getPersistentCount() == 0)
+ {
+ // Delete the message (if necessary)
+
+ if (batch && psDeleteMessage == null || !batch)
+ {
+ if (pagng)
+ {
+ //Need to do conditional delete - ref might still exist for message
+ psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_PAGED_MESSAGE"));
+ }
+ else
+ {
+ psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
+ }
+ }
+
+ psDeleteMessage.setLong(1, m.getMessageID());
+
+ if (pagng)
+ {
+ psDeleteMessage.setLong(2, m.getMessageID());
+ }
+
+ if (batch)
+ {
+ psDeleteMessage.addBatch();
+
+ messageDeletesInBatch = true;
+ }
+ else
+ {
+ int rows = executeWithRetry(psDeleteMessage);
+ if (trace) { log.trace("Deleted " + rows + " rows"); }
+
+ psDeleteMessage.close();
+ psDeleteMessage = null;
+ }
}
- else
- {
- int rows = updateWithRetry(psDecMessage);
- if (trace) { log.trace("Updated " + rows + " rows"); }
-
- rows = updateWithRetry(psDeleteMessage);
- if (trace) { log.trace("Deleted " + rows + " rows"); }
-
- psDeleteMessage.close();
- psDeleteMessage = null;
- psDecMessage.close();
- psDecMessage = null;
- }
}
if (batch)
{
// Process the remove batch
- int[] rows = updateWithRetryBatch(psReference);
+ int[] rows = executeWithRetryBatch(psReference);
if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE_REF"), rows, "deleted"); }
- rows = updateWithRetryBatch(psDecMessage);
-
- if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNEL_COUNT"), rows, "updated"); }
+ if (messageDeletesInBatch)
+ {
+ rows = executeWithRetryBatch(psDeleteMessage);
+
+ if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rows, "deleted"); }
+
+ psDeleteMessage.close();
+ psDeleteMessage = null;
+ }
- rows = updateWithRetryBatch(psDeleteMessage);
-
- if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rows, "deleted"); }
-
psReference.close();
- psReference = null;
- psDeleteMessage.close();
- psDeleteMessage = null;
- psDecMessage.close();
- psDecMessage = null;
+ psReference = null;
}
}
catch (Exception e)
@@ -1802,8 +1726,6 @@
{
closeStatement(psReference);
closeStatement(psInsertMessage);
- closeStatement(psIncMessage);
- closeStatement(psDecMessage);
closeStatement(psDeleteMessage);
closeConnection(conn);
try
@@ -1822,7 +1744,6 @@
throws Exception
{
Connection conn = null;
- PreparedStatement psUpdateMessage = null;
PreparedStatement psDeleteMessage = null;
TransactionWrapper wrap = new TransactionWrapper();
@@ -1854,71 +1775,65 @@
boolean batch = usingBatchUpdates && refsToRemove.size() > 0;
- if (batch)
- {
- psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
- }
-
iter = refsToRemove.iterator();
+
+ boolean messageDeletesInBatch = false;
+
+ boolean pagng = this.isPaging();
+
while (iter.hasNext())
{
ChannelRefPair pair = (ChannelRefPair) iter.next();
MessageReference ref = pair.ref;
- if (!batch)
- {
- psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
- }
-
Message m = ref.getMessage();
-
- //We may need to remove the message itself
- //Update the channel count
-
- decrementChannelCount(m, psUpdateMessage);
-
- //Remove the message (if necessary)
-
- removeMessage(m, psDeleteMessage);
-
- if (batch)
+ m.decrementPersistentCount();
+
+ if (m.getPersistentCount() == 0)
{
- psUpdateMessage.addBatch();
-
- psDeleteMessage.addBatch();
+ if (batch && psDeleteMessage == null || !batch)
+ {
+ if (pagng)
+ {
+ psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_PAGED_MESSAGE"));
+ }
+ else
+ {
+ psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
+ }
+ }
+
+ psDeleteMessage.setLong(1, m.getMessageID());
+
+ if (pagng)
+ {
+ psDeleteMessage.setLong(2, m.getMessageID());
+ }
+
+ if (batch)
+ {
+ psDeleteMessage.addBatch();
+
+ messageDeletesInBatch = true;
+ }
+ else
+ {
+ int rows = executeWithRetry(psDeleteMessage);
+
+ if (trace) { log.trace("Deleted " + rows + " rows"); }
+
+ psDeleteMessage.close();
+ psDeleteMessage = null;
+ }
}
- else
- {
- int rows = updateWithRetry(psUpdateMessage);
-
- if (trace) { log.trace("Updated " + rows + " rows"); }
-
- rows = updateWithRetry(psDeleteMessage);
-
- if (trace) { log.trace("Deleted " + rows + " rows"); }
-
- psDeleteMessage.close();
- psDeleteMessage = null;
- psUpdateMessage.close();
- psUpdateMessage = null;
- }
}
- if (batch)
+ if (batch && messageDeletesInBatch)
{
- int[] rows = updateWithRetryBatch(psUpdateMessage);
+ int[] rows = executeWithRetryBatch(psDeleteMessage);
- if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNEL_COUNT"), rows, "updated"); }
-
- psUpdateMessage.close();
- psUpdateMessage = null;
-
- rows = updateWithRetryBatch(psDeleteMessage);
-
if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rows, "deleted"); }
psDeleteMessage.close();
@@ -1933,7 +1848,6 @@
finally
{
closeStatement(psDeleteMessage);
- closeStatement(psUpdateMessage);
closeConnection(conn);
try
{
@@ -1968,7 +1882,6 @@
PreparedStatement psReference = null;
PreparedStatement psInsertMessage = null;
- PreparedStatement psUpdateMessage = null;
Connection conn = null;
TransactionWrapper wrap = new TransactionWrapper();
@@ -1986,22 +1899,14 @@
}
iter = refsToAdd.iterator();
-
boolean batch = usingBatchUpdates && refsToAdd.size() > 1;
boolean messageInsertsInBatch = false;
- boolean messageUpdatesInBatch = false;
- if (batch)
- {
- psReference = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE_REF"));
- psInsertMessage = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("INC_CHANNEL_COUNT"));
- }
while (iter.hasNext())
{
ChannelRefPair pair = (ChannelRefPair) iter.next();
- if (!batch)
+ if (batch && psReference == null || !batch)
{
psReference = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE_REF"));
}
@@ -2014,100 +1919,63 @@
}
else
{
- int rows = updateWithRetry(psReference);
+ int rows = executeWithRetry(psReference);
if (trace) { log.trace("Inserted " + rows + " rows"); }
psReference.close();
psReference = null;
}
+
+ Message m = pair.ref.getMessage();
- if (!batch)
- {
- psInsertMessage = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("INC_CHANNEL_COUNT"));
- }
-
- Message m = pair.ref.getMessage();
-
- boolean added;
-
if (!m.isPersisted())
- {
- //First time so persist the message
- storeMessage(m, psInsertMessage);
-
- m.setPersisted(true);
-
- added = true;
+ {
+ if (batch && psInsertMessage == null || !batch)
+ {
+ psInsertMessage = conn.prepareStatement(getSQLStatement("INSERT_MESSAGE"));
+ }
+
+ storeMessage(m, psInsertMessage);
+
+ m.setPersisted(true);
+
+ if (batch)
+ {
+ psInsertMessage.addBatch();
+
+ messageInsertsInBatch = true;
+ }
+ else
+ {
+ int rows = executeWithRetry(psInsertMessage);
+
+ if (trace) { log.trace("Inserted " + rows + " rows"); }
+
+ psInsertMessage.close();
+
+ psInsertMessage = null;
+ }
}
- else
- {
- //Update message channel count
- incrementChannelCount(m, psUpdateMessage);
-
- added = false;
- }
-
- if (batch)
- {
- if (added)
- {
- psInsertMessage.addBatch();
- messageInsertsInBatch = true;
- }
- else
- {
- psUpdateMessage.addBatch();
- messageUpdatesInBatch = true;
- }
- }
- else
- {
- if (added)
- {
- int rows = updateWithRetry(psInsertMessage);
-
- if (trace) { log.trace("Inserted " + rows + " rows"); }
- }
- else
- {
- int rows = updateWithRetry(psUpdateMessage);
-
- if (trace) { log.trace("Updated " + rows + " rows"); }
- }
- psInsertMessage.close();
- psInsertMessage = null;
- psUpdateMessage.close();
- psUpdateMessage = null;
- }
}
if (batch)
{
- int[] rowsReference = updateWithRetryBatch(psReference);
+ int[] rowsReference = executeWithRetryBatch(psReference);
if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE_REF"), rowsReference, "inserted"); }
if (messageInsertsInBatch)
{
- int[] rowsMessage = updateWithRetryBatch(psInsertMessage);
+ int[] rowsMessage = executeWithRetryBatch(psInsertMessage);
if (trace) { logBatchUpdate(getSQLStatement("INSERT_MESSAGE"), rowsMessage, "inserted"); }
}
- if (messageUpdatesInBatch)
- {
- int[] rowsMessage = updateWithRetryBatch(psUpdateMessage);
-
- if (trace) { logBatchUpdate(getSQLStatement("INC_CHANNEL_COUNT"), rowsMessage, "updated"); }
- }
psReference.close();
psReference = null;
psInsertMessage.close();
psInsertMessage = null;
- psUpdateMessage.close();
- psUpdateMessage = null;
}
//Now the removes
@@ -2115,6 +1983,7 @@
iter = refsToRemove.iterator();
batch = usingBatchUpdates && refsToRemove.size() > 1;
+
if (batch)
{
psReference = conn.prepareStatement(getSQLStatement("UPDATE_MESSAGE_REF"));
@@ -2137,7 +2006,7 @@
}
else
{
- int rows = updateWithRetry(psReference);
+ int rows = executeWithRetry(psReference);
if (trace) { log.trace("updated " + rows + " rows"); }
@@ -2148,7 +2017,7 @@
if (batch)
{
- int[] rows = updateWithRetryBatch(psReference);
+ int[] rows = executeWithRetryBatch(psReference);
if (trace) { logBatchUpdate(getSQLStatement("UPDATE_MESSAGE_REF"), rows, "updated"); }
@@ -2165,7 +2034,6 @@
{
closeStatement(psReference);
closeStatement(psInsertMessage);
- closeStatement(psUpdateMessage);
closeConnection(conn);
try
{
@@ -2186,7 +2054,6 @@
//and update rows marked with - to C
PreparedStatement psDeleteMessage = null;
- PreparedStatement psUpdateMessage = null;
Connection conn = null;
TransactionWrapper wrap = new TransactionWrapper();
@@ -2213,73 +2080,67 @@
iter = refsToAdd.iterator();
boolean batch = usingBatchUpdates && refsToAdd.size() > 1;
-
- if (batch)
- {
- psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
- }
-
+
+ boolean messageDeletesInBatch = false;
+
+ boolean pagng = this.isPaging();
+
while (iter.hasNext())
{
ChannelRefPair pair = (ChannelRefPair) iter.next();
- if (!batch)
- {
- psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
- psUpdateMessage = conn.prepareStatement(getSQLStatement("DEC_CHANNEL_COUNT"));
- }
+ Message m = pair.ref.getMessage();
- Message m = pair.ref.getMessage();
-
- //We may need to remove the message for messages added during the prepare stage
-
- //update the channel count
+ m.decrementPersistentCount();
- decrementChannelCount(m, psUpdateMessage);
-
- //remove the message (if necessary)
-
- removeMessage(m, psDeleteMessage);
-
- if (batch)
- {
- psUpdateMessage.addBatch();
-
- psDeleteMessage.addBatch();
+ if (m.getPersistentCount() == 0)
+ {
+ if (batch && psDeleteMessage == null || !batch)
+ {
+ if (pagng)
+ {
+ psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_PAGED_MESSAGE"));
+ }
+ else
+ {
+ psDeleteMessage = conn.prepareStatement(getSQLStatement("DELETE_MESSAGE"));
+ }
+ }
+
+
+ psDeleteMessage.setLong(1, m.getMessageID());
+
+ if (pagng)
+ {
+ psDeleteMessage.setLong(2, m.getMessageID());
+ }
+
+ if (batch)
+ {
+ psDeleteMessage.addBatch();
+
+ messageDeletesInBatch = true;
+ }
+ else
+ {
+ int rows = executeWithRetry(psDeleteMessage);
+
+ if (trace) { log.trace("deleted " + rows + " rows"); }
+
+ psDeleteMessage.close();
+ psDeleteMessage = null;
+ }
}
- else
- {
- int rows = updateWithRetry(psUpdateMessage);
-
- if (trace) { log.trace("updated " + rows + " rows"); }
-
- rows = updateWithRetry(psDeleteMessage);
-
- if (trace) { log.trace("deleted " + rows + " rows"); }
-
- psDeleteMessage.close();
- psDeleteMessage = null;
- psUpdateMessage.close();
- psUpdateMessage = null;
- }
}
- if (batch)
+ if (batch && messageDeletesInBatch)
{
- int[] rows = updateWithRetryBatch(psUpdateMessage);
+ int[] rows = executeWithRetryBatch(psDeleteMessage);
- if (trace) { logBatchUpdate(getSQLStatement("DEC_CHANNEL_COUNT"), rows, "updated"); }
-
- rows = updateWithRetryBatch(psDeleteMessage);
-
if (trace) { logBatchUpdate(getSQLStatement("DELETE_MESSAGE"), rows, "deleted"); }
psDeleteMessage.close();
- psDeleteMessage = null;
-
- psUpdateMessage.close();
- psUpdateMessage = null;
+ psDeleteMessage = null;
}
}
catch (Exception e)
@@ -2289,8 +2150,7 @@
}
finally
{
- closeStatement(psDeleteMessage);
- closeStatement(psUpdateMessage);
+ closeStatement(psDeleteMessage);
closeConnection(conn);
try
{
@@ -2342,7 +2202,7 @@
setVarBinaryColumn(5, ps, xid.getGlobalTransactionId());
- rows = updateWithRetry(ps);
+ rows = executeWithRetry(ps);
}
finally
@@ -2374,7 +2234,7 @@
ps.setLong(2, tx.getId());
- int rows = updateWithRetry(ps);
+ int rows = executeWithRetry(ps);
if (trace)
{
@@ -2459,7 +2319,7 @@
ps.setLong(1, tx.getId());
- int rows = updateWithRetry(ps);
+ int rows = executeWithRetry(ps);
if (trace)
{
@@ -2470,7 +2330,7 @@
ps = conn.prepareStatement(getSQLStatement("COMMIT_MESSAGE_REF2"));
ps.setLong(1, tx.getId());
- rows = updateWithRetry(ps);
+ rows = executeWithRetry(ps);
if (trace)
{
@@ -2496,7 +2356,7 @@
ps.setLong(1, tx.getId());
- int rows = updateWithRetry(ps);
+ int rows = executeWithRetry(ps);
if (trace)
{
@@ -2508,7 +2368,7 @@
ps = conn.prepareStatement(getSQLStatement("ROLLBACK_MESSAGE_REF2"));
ps.setLong(1, tx.getId());
- rows = updateWithRetry(ps);
+ rows = executeWithRetry(ps);
if (trace)
{
@@ -2562,18 +2422,6 @@
return map;
}
-
- //TODO - combine these
- protected void incrementChannelCount(Message m, PreparedStatement ps) throws Exception
- {
- ps.setLong(1, m.getMessageID());
- }
-
- protected void decrementChannelCount(Message m, PreparedStatement ps) throws Exception
- {
- ps.setLong(1, m.getMessageID());
- }
-
/**
* Stores the message in the MESSAGE table.
*/
@@ -2609,21 +2457,9 @@
ps.setNull(7, Types.LONGVARBINARY);
}
- //The number of channels that hold a reference to the message - initially always 1
- ps.setInt(8, 1);
-
- ps.setByte(9, m.getType());
+ ps.setByte(8, m.getType());
}
- /**
- * Removes the message from the MESSAGE table.
- */
- protected void removeMessage(Message message, PreparedStatement ps) throws Exception
- {
- // physically delete the row in the database
- ps.setLong(1, message.getMessageID());
- }
-
protected void setVarBinaryColumn(int column, PreparedStatement ps, byte[] bytes) throws Exception
{
if (usingTrailingByte)
@@ -2782,14 +2618,14 @@
log.trace("Batch update " + name + ", " + action + " total of " + count + " rows");
}
- protected int updateWithRetry(PreparedStatement ps) throws Exception
+ protected int executeWithRetry(PreparedStatement ps) throws Exception
{
- return updateWithRetry(ps, false)[0];
+ return executeWithRetry(ps, false)[0];
}
- protected int[] updateWithRetryBatch(PreparedStatement ps) throws Exception
+ protected int[] executeWithRetryBatch(PreparedStatement ps) throws Exception
{
- return updateWithRetry(ps, true);
+ return executeWithRetry(ps, true);
}
//PersistentServiceSupport overrides ----------------------------
@@ -2811,7 +2647,7 @@
map.put("CREATE_MESSAGE",
"CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), " +
"EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY TINYINT, HEADERS LONGVARBINARY, " +
- "PAYLOAD LONGVARBINARY, CHANNEL_COUNT INTEGER, TYPE TINYINT, " +
+ "PAYLOAD LONGVARBINARY, TYPE TINYINT, PAGED CHAR(1) " +
"PRIMARY KEY (MESSAGE_ID))");
//Transaction
map.put("CREATE_TRANSACTION",
@@ -2858,15 +2694,14 @@
//Message
map.put("LOAD_MESSAGES",
"SELECT MESSAGE_ID, RELIABLE, EXPIRATION, TIMESTAMP, " +
- "PRIORITY, HEADERS, PAYLOAD, TYPE " +
+ "PRIORITY, HEADERS, PAYLOAD, TYPE, PAGED " +
"FROM JBM_MSG");
map.put("INSERT_MESSAGE",
"INSERT INTO JBM_MSG (MESSAGE_ID, RELIABLE, EXPIRATION, " +
- "TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, CHANNEL_COUNT, TYPE) " +
+ "TIMESTAMP, PRIORITY, HEADERS, PAYLOAD, TYPE, PAGED) " +
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)" );
- map.put("INC_CHANNEL_COUNT", "UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT + 1 WHERE MESSAGE_ID=?");
- map.put("DEC_CHANNEL_COUNT", "UPDATE JBM_MSG SET CHANNEL_COUNT = CHANNEL_COUNT - 1 WHERE MESSAGE_ID=?");
- map.put("DELETE_MESSAGE", "DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND CHANNEL_COUNT = 0");
+ map.put("DELETE_MESSAGE", "DELETE FROM JBM_MSG WHERE MESSAGE_ID=?");
+ map.put("DELETE_PAGED_MESSAGE", "DELETE FROM JBM_MSG WHERE MESSAGE_ID=? AND NOT EXISTS (SELECT * FROM JBM_MSG_REF WHERE MESSAGE_ID = ?)");
map.put("MESSAGE_ID_COLUMN", "MESSAGE_ID");
map.put("MESSAGE_EXISTS", "SELECT MESSAGE_ID FROM JBM_MSG WHERE MESSAGE_ID = ?");
//Transaction
@@ -2893,7 +2728,7 @@
- private int[] updateWithRetry(PreparedStatement ps, boolean batch) throws Exception
+ private int[] executeWithRetry(PreparedStatement ps, boolean batch) throws Exception
{
final int MAX_TRIES = 25;
@@ -3187,6 +3022,5 @@
return (id1 < id2 ? -1 : (id1 == id2 ? 0 : 1));
}
- }
-
+ }
}
Modified: trunk/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -85,15 +85,19 @@
*/
protected long nextPagingOrder;
+ protected MessageStore ms;
+
/**
* Constructor with default paging params.
*/
public PagingChannelSupport(long channelID, MessageStore ms, PersistenceManager pm,
boolean recoverable, int maxSize)
{
- super(channelID, ms, pm, recoverable, maxSize);
+ super(channelID, pm, recoverable, maxSize);
downCache = new ArrayList(downCacheSize);
+
+ this.ms = ms;
}
/**
@@ -103,7 +107,7 @@
boolean recoverable, int maxSize,
int fullSize, int pageSize, int downCacheSize)
{
- super(channelID, ms, pm, recoverable, maxSize);
+ super(channelID, pm, recoverable, maxSize);
if (pageSize >= fullSize)
{
@@ -129,6 +133,8 @@
this.pageSize = pageSize;
this.downCacheSize = downCacheSize;
+
+ this.ms = ms;
}
// Receiver implementation ----------------------------------------------------------------------
@@ -219,32 +225,14 @@
throw new IllegalStateException("Cannot unload channel when active");
}
- //We need to release any message refs so the message is released from the message store if appropriate
-
- Iterator iter = messageRefs.iterator();
-
- while (iter.hasNext())
- {
- MessageReference ref = (MessageReference)iter.next();
-
- ref.releaseMemoryReference();
- }
-
messageRefs.clear();
- iter = downCache.iterator();
-
- while (iter.hasNext())
- {
- MessageReference ref = (MessageReference)iter.next();
-
- ref.releaseMemoryReference();
- }
-
downCache.clear();
paging = false;
+ pm.setPaging(channelID, false);
+
firstPagingOrder = nextPagingOrder = 0;
clearAllScheduledDeliveries();
@@ -318,6 +306,8 @@
if (messageRefs.size() != fullSize)
{
paging = false;
+
+ pm.setPaging(channelID, false);
}
}
}
@@ -377,6 +367,8 @@
{
paging = false;
+ pm.setPaging(channelID, false);
+
return false;
}
}
@@ -397,6 +389,8 @@
if (trace) { log.trace(this + " going into paging mode"); }
paging = true;
+
+ pm.setPaging(channelID, true);
}
}
}
@@ -458,7 +452,7 @@
while (iter.hasNext())
{
MessageReference ref = (MessageReference) iter.next();
-
+
if (ref.getMessage().isReliable() && recoverable)
{
toUpdate.add(ref);
@@ -473,23 +467,12 @@
{
pm.pageReferences(channelID, toAdd, true);
}
+
if (!toUpdate.isEmpty())
{
pm.updatePageOrder(channelID, toUpdate);
}
- // Release in memory refs for the refs we just spilled
- // Note! This must be done after the db inserts - to ensure message is
- // still in memory
- iter = downCache.iterator();
-
- while (iter.hasNext())
- {
- MessageReference ref = (MessageReference) iter.next();
-
- ref.releaseMemoryReference();
- }
-
downCache.clear();
if (trace) { log.trace(this + " cleared downcache"); }
@@ -505,7 +488,7 @@
nextPagingOrder = ili.getMaxPageOrdering().longValue() + 1;
- paging = true;
+ paging = true;
}
else
{
@@ -513,6 +496,8 @@
paging = false;
}
+
+ pm.setPaging(channelID, paging);
Map refMap = processReferences(ili.getRefInfos());
@@ -539,6 +524,8 @@
ref.setScheduledDeliveryTime(info.getScheduledDelivery());
+ ref.getMessage().incrementPersistentCount();
+
//Schedule the delivery if necessary, or just add to the in memory queue
if (!checkAndSchedule(ref))
{
@@ -551,9 +538,9 @@
protected Map processReferences(List refInfos) throws Exception
{
- Map refMap = new HashMap(refInfos.size());
+ Map<Long, MessageReference> refMap = new HashMap<Long, MessageReference>(refInfos.size());
- List msgIdsToLoad = new ArrayList(refInfos.size());
+ List<Long> msgIdsToLoad = new ArrayList<Long>(refInfos.size());
Iterator iter = refInfos.iterator();
@@ -568,12 +555,12 @@
if (ref != null)
{
- refMap.put(new Long(msgId), ref);
+ refMap.put(msgId, ref);
}
else
{
// Add id to list of msg ids to load
- msgIdsToLoad.add(new Long(msgId));
+ msgIdsToLoad.add(msgId);
}
}
@@ -598,13 +585,9 @@
while (iter.hasNext())
{
Message m = (Message)iter.next();
-
- // Message might actually be know to the store since we did the
- // first check since might have been added by different channel
- // in intervening period, but this is ok - the store knows to only
- // return a reference to the pre-existing message
- MessageReference ref = ms.reference(m);
+ MessageReference ref = ms.reference(m);
+
refMap.put(new Long(m.getMessageID()), ref);
}
}
Modified: trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -460,6 +460,8 @@
Queue localQueue = binding.queue;
+ log.info("local queue is: " + localQueue);
+
if (localQueue.isClustered())
{
MessageSucker sucker = new MessageSucker(localQueue, info.connection, localInfo.connection, xa, preserveOrdering);
Modified: trunk/src/main/org/jboss/messaging/core/impl/message/MessageFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/message/MessageFactory.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/message/MessageFactory.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -150,7 +150,7 @@
}
m.setPersisted(true);
-
+
return m;
}
Deleted: trunk/src/main/org/jboss/messaging/core/impl/message/MessageHolder.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/message/MessageHolder.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/message/MessageHolder.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -1,83 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.messaging.core.impl.message;
-
-import org.jboss.messaging.core.contract.Message;
-
-
-/**
- *
- * A MessageHolder.
- *
- * @author <a href="tim.fox at jboss.com">Tim Fox</a>
- * @version <tt>$Revision: 2202 $</tt>
- *
- * $Id: MessageHolder.java 2202 2007-02-08 10:50:26Z timfox $
- */
-class MessageHolder
-{
- /*
- * The number of channels *currently in memory* that hold a reference to the message
- * We need this so we know when to evict the message from the store (when it reaches zero)
- * Note that we also maintain a persistent channel count on the message itself.
- * This is the total number of channels whether loaded in memory or not that hold a reference to the
- * message and is needed to know when it is safe to remove the message from the db
- */
- private int inMemoryChannelCount;
-
- private Message msg;
-
- private SimpleMessageStore ms;
-
- public MessageHolder(Message msg, SimpleMessageStore ms)
- {
- this.msg = msg;
- this.ms = ms;
- }
-
- public synchronized void incrementInMemoryChannelCount()
- {
- inMemoryChannelCount++;
- }
-
- public synchronized void decrementInMemoryChannelCount()
- {
- inMemoryChannelCount--;
-
- if (inMemoryChannelCount == 0)
- {
- // can remove the message from the message store
- ms.forgetMessage(msg.getMessageID());
- }
- }
-
- public synchronized int getInMemoryChannelCount()
- {
- return inMemoryChannelCount;
- }
-
- public Message getMessage()
- {
- return msg;
- }
-}
Modified: trunk/src/main/org/jboss/messaging/core/impl/message/MessageSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/message/MessageSupport.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/message/MessageSupport.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -31,6 +31,7 @@
import org.jboss.logging.Logger;
import org.jboss.messaging.core.contract.Message;
+import org.jboss.messaging.core.contract.MessageReference;
import org.jboss.messaging.util.StreamUtils;
/**
@@ -74,9 +75,11 @@
// Must be hidden from subclasses
private byte[] payloadAsByteArray;
+
+ private transient volatile int persistentCount;
+
+ private transient volatile boolean persisted;
- private transient boolean persisted;
-
// Constructors --------------------------------------------------
/*
@@ -288,16 +291,6 @@
this.payloadAsByteArray = null;
}
- public synchronized boolean isPersisted()
- {
- return persisted;
- }
-
- public synchronized void setPersisted(boolean persisted)
- {
- this.persisted = persisted;
- }
-
public boolean isExpired()
{
if (expiration == 0)
@@ -317,6 +310,41 @@
}
return false;
}
+
+ public MessageReference createReference()
+ {
+ return new SimpleMessageReference(this);
+ }
+
+ public int getPersistentCount()
+ {
+ return persistentCount;
+ }
+
+ public void setPersistentCount(int count)
+ {
+ persistentCount = count;
+ }
+
+ public void decrementPersistentCount()
+ {
+ persistentCount--;
+ }
+
+ public void incrementPersistentCount()
+ {
+ persistentCount++;
+ }
+
+ public boolean isPersisted()
+ {
+ return persisted;
+ }
+
+ public void setPersisted(boolean persisted)
+ {
+ this.persisted = persisted;
+ }
// Public --------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageReference.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageReference.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageReference.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -24,7 +24,6 @@
import org.jboss.logging.Logger;
import org.jboss.messaging.core.contract.Message;
import org.jboss.messaging.core.contract.MessageReference;
-import org.jboss.messaging.core.contract.MessageStore;
/**
* A Simple MessageReference implementation.
@@ -46,18 +45,13 @@
private boolean trace = log.isTraceEnabled();
- protected transient MessageStore ms;
-
- private MessageHolder holder;
-
private long pagingOrder = -1;
-
- private boolean released;
-
+
private int deliveryCount;
private long scheduledDeliveryTime;
+ private Message message;
// Constructors --------------------------------------------------
@@ -71,34 +65,26 @@
public SimpleMessageReference(SimpleMessageReference other)
{
- this.ms = other.ms;
-
- this.holder = other.holder;
-
this.pagingOrder = other.pagingOrder;
- this.released = other.released;
-
this.deliveryCount = other.deliveryCount;
- this.scheduledDeliveryTime = other.scheduledDeliveryTime;
+ this.scheduledDeliveryTime = other.scheduledDeliveryTime;
+
+ this.message = other.message;
}
- protected SimpleMessageReference(MessageHolder holder, MessageStore ms)
+ protected SimpleMessageReference(Message message)
{
- this.holder = holder;
-
- this.ms = ms;
- }
-
- // Message implementation ----------------------------------------
-
- public boolean isReference()
+ this.message = message;
+ }
+
+ // MessageReference implementation -------------------------------
+
+ public MessageReference copy()
{
- return true;
+ return new SimpleMessageReference(this);
}
-
- // MessageReference implementation -------------------------------
public int getDeliveryCount()
{
@@ -122,29 +108,9 @@
public Message getMessage()
{
- return holder.getMessage();
+ return message;
}
- public void releaseMemoryReference()
- {
- if (released)
- {
- //Do nothing -
- //It's possible releaseMemoryReference can be called more than once on a reference since it's
- //allowable that acknowledge is called more than once for a delivery and each call will call this
- //method - so we don't want to throw an exception
- return;
- }
- holder.decrementInMemoryChannelCount();
-
- released = true;
- }
-
- public int getInMemoryChannelCount()
- {
- return holder.getInMemoryChannelCount();
- }
-
public long getPagingOrder()
{
return pagingOrder;
@@ -155,15 +121,6 @@
this.pagingOrder = order;
}
- public MessageReference copy()
- {
- SimpleMessageReference ref = new SimpleMessageReference(this);
-
- ref.holder.incrementInMemoryChannelCount();
-
- return ref;
- }
-
// Public --------------------------------------------------------
public String toString()
Modified: trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageStore.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageStore.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/message/SimpleMessageStore.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -21,11 +21,8 @@
*/
package org.jboss.messaging.core.impl.message;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
import java.util.Map;
+import java.util.WeakHashMap;
import org.jboss.logging.Logger;
import org.jboss.messaging.core.contract.Message;
@@ -51,103 +48,47 @@
// Attributes ----------------------------------------------------
- private boolean trace = log.isTraceEnabled();
-
- // <messageID - MessageHolder>
- private Map messages;
+ private Map<Long, Message> messages;
// Constructors --------------------------------------------------
public SimpleMessageStore()
{
- messages = new HashMap();
+ messages = new WeakHashMap<Long, Message>();
log.debug(this + " initialized");
}
// MessageStore implementation ---------------------------
-
- public Object getInstance()
- {
- return this;
- }
-
- // TODO If we can assume that the message is not known to the store before
- // (true when sending messages)
- // Then we can avoid synchronizing on this and use a ConcurrentHashmap
- // Which will give us much better concurrency for many threads
- public MessageReference reference(Message m)
- {
- MessageHolder holder;
- synchronized (this)
- {
- holder = (MessageHolder)messages.get(new Long(m.getMessageID()));
-
- if (holder == null)
- {
- holder = addMessage(m);
- }
- }
- holder.incrementInMemoryChannelCount();
-
- MessageReference ref = new SimpleMessageReference(holder, this);
-
- if (trace) { log.trace(this + " generated " + ref + " for " + m); }
-
- return ref;
- }
-
- public MessageReference reference(long messageID)
+ public synchronized MessageReference reference(Message m)
{
- MessageHolder holder;
-
- synchronized (this)
- {
- holder = (MessageHolder)messages.get(new Long(messageID));
- }
-
- if (holder == null)
- {
- return null;
- }
-
- MessageReference ref = new SimpleMessageReference(holder, this);
-
- if (trace) { log.trace(this + " generates " + ref + " for " + messageID); }
-
- holder.incrementInMemoryChannelCount();
-
- return ref;
+ //If already exists, return reference to existing message
+
+ Message message = (Message)messages.get(m.getMessageID());
+
+ if (message == null)
+ {
+ messages.put(m.getMessageID(), m);
+
+ message = m;
+ }
+
+ return message.createReference();
}
-
- public boolean forgetMessage(long messageID)
+ public synchronized MessageReference reference(long messageID)
{
- return messages.remove(new Long(messageID)) != null;
- }
-
- public int size()
- {
- return messages.size();
- }
-
- public List messageIds()
- {
- return new ArrayList(messages.keySet());
- }
-
- public void dump()
- {
- log.info("*** DUMPING " + this);
- Iterator iter = messages.values().iterator();
- while (iter.hasNext())
+ Message message = (Message)messages.get(messageID);
+
+ if (message == null)
{
- MessageHolder holder = (MessageHolder)iter.next();
-
- log.info(holder.getMessage() + " count: " + holder.getInMemoryChannelCount());
+ return null;
}
- log.info("*** End dump");
+ else
+ {
+ return message.createReference();
+ }
}
// MessagingComponent implementation --------------------------------
@@ -173,15 +114,6 @@
// Protected -----------------------------------------------------
- protected MessageHolder addMessage(Message m)
- {
- MessageHolder holder = new MessageHolder(m, this);
-
- messages.put(new Long(m.getMessageID()), holder);
-
- return holder;
- }
-
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -1154,21 +1154,9 @@
Condition routingKey = conditionFactory.createCondition(routingKeyText);
- MessageReference ref = null;
-
- try
- {
- ref = ms.reference(message);
+ MessageReference ref = message.createReference();
- routeInternal(ref, routingKey, null, true, queueNames);
- }
- finally
- {
- if (ref != null)
- {
- ref.releaseMemoryReference();
- }
- }
+ routeInternal(ref, routingKey, null, true, queueNames);
}
//TODO - these do not belong here
@@ -1614,9 +1602,7 @@
info = (PostOfficeAddressInfo)nodeIDAddressMap.get(masterNodeID);
Address address = info.getDataChannelAddress();
-
- log.info("Sending the message to node " + masterNodeID + " with address " + address);
-
+
if (address != null)
{
groupMember.unicastData(request, address);
@@ -2104,6 +2090,14 @@
startedTx = true;
}
+ //We set the persistent count to be the same as the localReliableCount
+ //Note that we MUST set the persistent count before routing to any of the queues
+ //if we only set it when we actually persist in a channel then we could have the situation where
+ //a ref arrives in a subscription then gets acknowledged and removed before hitting the next sub
+ //so we would end up with a churn where the message is getting added and removed multiple times for
+ //a single route
+ ref.getMessage().setPersistentCount(localReliableCount);
+
//Now actually route the ref
iter = targets.iterator();
Modified: trunk/src/main/org/jboss/messaging/core/impl/tx/TransactionRepository.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/tx/TransactionRepository.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/src/main/org/jboss/messaging/core/impl/tx/TransactionRepository.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -305,49 +305,40 @@
long channelID = pair.getChannelId();
- MessageReference ref = null;
+ MessageReference ref = messageStore.reference(msg);
- try
+ ref.getMessage().incrementPersistentCount();
+
+ ref.getMessage().setPersisted(true);
+
+ Binding binding = postOffice.getBindingForChannelID(channelID);
+
+ if (binding == null)
{
- ref = messageStore.reference(msg);
+ throw new IllegalStateException("Cannot find binding for channel id " + channelID);
+ }
+
+ Queue queue = binding.queue;
+
+ if (trace) log.trace("Destination for message[ID=" + ref.getMessage().getMessageID() + "] is: " + queue);
- Binding binding = postOffice.getBindingForChannelID(channelID);
-
- if (binding == null)
- {
- throw new IllegalStateException("Cannot find binding for channel id " + channelID);
- }
-
- Queue queue = binding.queue;
-
- if (trace) log.trace("Destination for message[ID=" + ref.getMessage().getMessageID() + "] is: " + queue);
-
- // The actual jmx queue may not have been deployed yet, so we need to activate the core queue if so,
- // or the handle will have no effect
-
- boolean deactivate = false;
+ // The actual jmx queue may not have been deployed yet, so we need to activate the core queue if so,
+ // or the handle will have no effect
+
+ boolean deactivate = false;
- if (!queue.isActive())
- {
- queue.activate();
+ if (!queue.isActive())
+ {
+ queue.activate();
- deactivate = true;
- }
+ deactivate = true;
+ }
- queue.handle(null, ref, tx);
+ queue.handle(null, ref, tx);
- if (deactivate)
- {
- queue.deactivate();
- }
- }
- finally
+ if (deactivate)
{
- if (ref != null)
- {
- //Need to release reference
- ref.releaseMemoryReference();
- }
+ queue.deactivate();
}
}
}
@@ -375,70 +366,62 @@
MessageReference ref = null;
- try
+ ref = messageStore.reference(msg);
+
+ ref.getMessage().incrementPersistentCount();
+
+ ref.getMessage().setPersisted(true);
+
+ Binding binding = postOffice.getBindingForChannelID(channelID);
+
+ if (binding == null)
{
- ref = messageStore.reference(msg);
+ throw new IllegalStateException("Cannot find binding for channel id " + channelID);
+ }
- Binding binding = postOffice.getBindingForChannelID(channelID);
-
- if (binding == null)
- {
- throw new IllegalStateException("Cannot find binding for channel id " + channelID);
- }
-
- Queue queue = binding.queue;
-
- if (trace) log.trace("Destination for message[ID=" + ref.getMessage().getMessageID() + "] is: " + queue);
-
- //Create a new delivery - note that it must have a delivery observer otherwise acknowledge will fail
- Delivery del = new SimpleDelivery(queue, ref, true, true);
+ Queue queue = binding.queue;
+
+ if (trace) log.trace("Destination for message[ID=" + ref.getMessage().getMessageID() + "] is: " + queue);
+
+ //Create a new delivery - note that it must have a delivery observer otherwise acknowledge will fail
+ Delivery del = new SimpleDelivery(queue, ref, true, true);
- if (trace) log.trace("Acknowledging..");
+ if (trace) log.trace("Acknowledging..");
- try
+ try
+ {
+ // The actual jmx queue may not have been deployed yet, so we need to the core queue if so,
+ // or the acknowledge will have no effect
+
+ boolean deactivate = false;
+
+ if (!queue.isActive())
{
- // The actual jmx queue may not have been deployed yet, so we need to the core queue if so,
- // or the acknowledge will have no effect
-
- boolean deactivate = false;
+ queue.activate();
- if (!queue.isActive())
- {
- queue.activate();
+ deactivate = true;
+ }
- deactivate = true;
- }
+ del.acknowledge(tx);
- del.acknowledge(tx);
-
- if (deactivate)
- {
- queue.deactivate();
- }
- }
- catch (Throwable t)
+ if (deactivate)
{
- log.error("Failed to acknowledge " + del + " during recovery", t);
+ queue.deactivate();
}
-
- dels.add(del);
}
- finally
+ catch (Throwable t)
{
- if (ref != null)
- {
- //Need to release reference
- ref.releaseMemoryReference();
- }
+ log.error("Failed to acknowledge " + del + " during recovery", t);
}
+
+ dels.add(del);
}
if (!dels.isEmpty())
{
//Add a callback so these dels get cancelled on rollback
tx.addCallback(new CancelCallback(dels), this);
- }
-
+ }
}
// Protected -----------------------------------------------------
Modified: trunk/tests/build.xml
===================================================================
--- trunk/tests/build.xml 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/build.xml 2007-08-21 15:46:38 UTC (rev 3020)
@@ -340,9 +340,8 @@
haltonerror="${junit.batchtest.haltonerror}">
<formatter type="plain" usefile="${junit.formatter.usefile}"/>
<fileset dir="${build.tests.classes}">
-
- <include name="**/messaging/core/**/${test-mask}.class"/>
- <include name="**/messaging/jms/**/${test-mask}.class"/>
+ <include name="**/messaging/core/**/${test-mask}.class"/>
+ <include name="**/jms/**/${test-mask}.class"/>
<include name="**/messaging/util/**/${test-mask}.class"/>
<exclude name="**/jms/MemLeakTest.class"/>
@@ -546,8 +545,10 @@
<target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
<antcall target="invm-stress-tests"/>
<antcall target="remote-stress-tests"/> <!-- default remoting configuration (bisocket) -->
+
+<!--
<antcall target="clustering-stress-tests"/>
-
+-->
<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
<antcall target="remote-stress-tests">
<param name="test.remoting" value="http"/>
@@ -588,7 +589,7 @@
haltonerror="${junit.batchtest.haltonerror}">
<formatter type="plain" usefile="${junit.formatter.usefile}"/>
<fileset dir="${build.tests.classes}">
- <include name="**/jms/stress/TopicStressTest.class"/>
+ <include name="**/jms/stress/*Test.class"/>
</fileset>
</batchtest>
</junit>
Modified: trunk/tests/src/org/jboss/test/messaging/MessagingTestCase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/MessagingTestCase.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/MessagingTestCase.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -324,6 +324,11 @@
boolean exists = rs.next();
+ if (exists)
+ {
+ log.info("Message reference data exists");
+ }
+
if (!exists)
{
rs.close();
@@ -334,7 +339,12 @@
rs = ps.executeQuery();
- exists = rs.next();
+ exists = rs.next();
+
+ if (exists)
+ {
+ log.info("Message data exists");
+ }
}
return exists;
Modified: trunk/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/JDBCPersistenceManagerTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -139,6 +139,9 @@
Message m1 = messages[i * 2];
Message m2 = messages[i * 2 + 1];
+ m1.setPersistentCount(2);
+ m2.setPersistentCount(2);
+
MessageReference ref1_1 = ms.reference(m1);
MessageReference ref1_2 = ms.reference(m1);
@@ -204,7 +207,7 @@
msgs = getMessageIds();
assertNotNull(msgs);
- assertEquals(1, msgs.size());
+ assertEquals(1, msgs.size());
assertTrue(msgs.contains(new Long(m2.getMessageID())));
pm.removeReference(channel1.getChannelID(), ref2_1, null);
@@ -1301,6 +1304,8 @@
log.debug("adding references non-transactionally");
// Add first two refs non transactionally
+ ref1.getMessage().incrementPersistentCount();
+ ref2.getMessage().incrementPersistentCount();
pm.addReference(channel.getChannelID(), ref1, null);
pm.addReference(channel.getChannelID(), ref2, null);
@@ -1320,6 +1325,9 @@
log.debug("ref1 and ref2 are there");
//Add the next 3 refs transactionally
+ ref3.getMessage().incrementPersistentCount();
+ ref4.getMessage().incrementPersistentCount();
+ ref5.getMessage().incrementPersistentCount();
pm.addReference(channel.getChannelID(), ref3, tx);
pm.addReference(channel.getChannelID(), ref4, tx);
pm.addReference(channel.getChannelID(), ref5, tx);
@@ -1400,6 +1408,8 @@
MessageReference ref5 = ms.reference(m5);
//Add first two refs non transactionally
+ ref1.getMessage().incrementPersistentCount();
+ ref2.getMessage().incrementPersistentCount();
pm.addReference(channel.getChannelID(), ref1, null);
pm.addReference(channel.getChannelID(), ref2, null);
@@ -1419,6 +1429,9 @@
//Add the next 3 refs transactionally
+ ref3.getMessage().incrementPersistentCount();
+ ref4.getMessage().incrementPersistentCount();
+ ref5.getMessage().incrementPersistentCount();
pm.addReference(channel.getChannelID(), ref3, tx);
pm.addReference(channel.getChannelID(), ref4, tx);
pm.addReference(channel.getChannelID(), ref5, tx);
Deleted: trunk/tests/src/org/jboss/test/messaging/core/MessageStoreTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/MessageStoreTestBase.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/MessageStoreTestBase.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -1,349 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.messaging.core;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.jboss.messaging.core.contract.Message;
-import org.jboss.messaging.core.contract.MessageReference;
-import org.jboss.messaging.core.contract.MessageStore;
-import org.jboss.test.messaging.MessagingTestCase;
-import org.jboss.test.messaging.tools.container.ServiceContainer;
-import org.jboss.test.messaging.util.CoreMessageFactory;
-
-
-/**
- * The test strategy is to try as many combination as it makes sense of the following
- * variables:
- *
- * Note: This test is more or less defunct now since the message store doesn't do much
- * but we'll keep it here anyway
- *
- * TODO - we should refactor this at some point
- *
- * 1. The message can be non-reliable or reliable.
- * 2. One or multiple messages can be stored.
- * 3. One or more strong references may be maintain for the same MessageReference.
- * 4. A recoverable message store may be forcibly crashed and tested if it recovers.
- *
- * @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
- * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- * @version <tt>$Revision$</tt>
- *
- * $Id$
- */
-public abstract class MessageStoreTestBase extends MessagingTestCase
-{
- // Constants -----------------------------------------------------
-
- public static final int NUMBER_OF_MESSAGES = 100;
-
- // Static --------------------------------------------------------
-
- /**
- * Makes sure the given reference refers the given message.
- */
- public static void assertCorrectReference(MessageReference ref, Message m)
- {
- assertEquals(m.getMessageID(), ref.getMessage().getMessageID());
- assertEquals(m.isReliable(), ref.getMessage().isReliable());
- assertEquals(m.getExpiration(), ref.getMessage().getExpiration());
- assertEquals(m.getTimestamp(), ref.getMessage().getTimestamp());
- assertEquals(m.getPriority(), ref.getMessage().getPriority());
- assertEquals(0, ref.getDeliveryCount());
-
- Map messageHeaders = m.getHeaders();
- Map refHeaders = ref.getMessage().getHeaders();
- assertEquals(messageHeaders.size(), refHeaders.size());
-
- for(Iterator i = messageHeaders.keySet().iterator(); i.hasNext(); )
- {
- Object header = i.next();
- Object value = messageHeaders.get(header);
- assertTrue(refHeaders.containsKey(header));
- assertEquals(value, refHeaders.get(header));
- }
- }
-
- // Attributes ----------------------------------------------------
-
- protected ServiceContainer sc;
- protected MessageStore ms;
-
- protected Map headers;
-
- // Constructors --------------------------------------------------
-
- public MessageStoreTestBase(String name)
- {
- super(name);
- }
-
- // Public --------------------------------------------------------
-
- public void setUp() throws Exception
- {
- super.setUp();
-
- sc = new ServiceContainer("all,-remoting,-security");
- sc.start();
-
- headers = new HashMap();
- headers.put("someKey", "someValue");
- }
-
- public void tearDown() throws Exception
- {
- headers.clear();
- headers = null;
- sc.stop();
- sc = null;
-
- super.tearDown();
- }
-
- ////
- //// Non-reliable message
- ////
-
- //////
- ////// One message
- //////
-
- ////////
- //////// One strong reference
- ////////
-
- public void testMessageStore_1() throws Exception
- {
- Message m = CoreMessageFactory.
- createCoreMessage(0, false, 777l, 888l, (byte)9, headers, "payload");
-
- // recoverable store, non-reliable message, one message
- MessageReference ref = ms.reference(m);
- assertCorrectReference(ref, m);
- ref.releaseMemoryReference();
-
- ref = ms.reference(m.getMessageID());
- assertNull(ref);
- }
-
- ////////
- //////// Two strong references
- ////////
-
- public void testMessageStore_1_1() throws Exception
- {
-
- Message m = CoreMessageFactory.
- createCoreMessage(0, false, 777l, 888l, (byte)9, headers, "payload");
-
- // recoverable store, non-reliable message, one message
- MessageReference ref = ms.reference(m);
- assertCorrectReference(ref, m);
-
- MessageReference ref2 = ms.reference(m);
-
- assertCorrectReference(ref2, m);
- }
-
- //////
- ////// Multiple messages
- //////
-
- public void testMessageStore_2() throws Exception
- {
- Message[] m = new Message[NUMBER_OF_MESSAGES];
- MessageReference[] refs = new MessageReference[NUMBER_OF_MESSAGES];
- for(int i = 0; i < NUMBER_OF_MESSAGES; i++ )
- {
- m[i] = CoreMessageFactory.createCoreMessage(i, false, 700 + i, 800 + i,
- (byte)(i % 10), headers, "payload" + i);
-
- // recoverable store, non-reliable message, one message
- refs[i] = ms.reference(m[i]);
- assertCorrectReference(refs[i], m[i]);
- }
-
- // get reachable reference
-
- for (int i = 0; i < NUMBER_OF_MESSAGES; i++)
- {
- assertCorrectReference(refs[i], m[i]);
- refs[i].releaseMemoryReference();
- }
-
- for (int i = 0; i < NUMBER_OF_MESSAGES; i++)
- {
- assertNull(ms.reference(m[i].getMessageID()));
- }
- }
-
- ////
- //// Reliable message
- ////
-
- //////
- ////// One message
- //////
-
- ////////
- //////// One strong reference
- ////////
-
- public void testMessageStore_3() throws Exception
- {
- Message m = CoreMessageFactory.
- createCoreMessage(0, true, 777l, 888l, (byte)9, headers, "payload");
-
- // recoverable store, non-reliable message, one message
- MessageReference ref = ms.reference(m);
- assertCorrectReference(ref, m);
-
- ref.releaseMemoryReference();
-
- // there's no strong reference to the unique message reference anymore, so the message store
- // should be cleaned of everything that pertains to that message
-
- ref = ms.reference(m.getMessageID());
- assertNull(ref);
- }
-
- ////////
- //////// Two strong references
- ////////
-
- public void testMessageStore_3_1() throws Exception
- {
- Message m = CoreMessageFactory.
- createCoreMessage(0, true, 777l, 888l, (byte)9, headers, "payload");
-
- // recoverable store, non-reliable message, one message
- MessageReference ref = ms.reference(m);
- assertCorrectReference(ref, m);
-
- MessageReference ref2 = ms.reference(m);
-
- assertCorrectReference(ref2, m);
- }
-
- //////
- ////// Multiple messages
- //////
-
- public void testMessageStore_4() throws Exception
- {
- Message[] m = new Message[NUMBER_OF_MESSAGES];
- MessageReference[] refs = new MessageReference[NUMBER_OF_MESSAGES];
- for(int i = 0; i < NUMBER_OF_MESSAGES; i++ )
- {
- m[i] = CoreMessageFactory.createCoreMessage(i, true, 700 + i, 800 + i,
- (byte)(i % 10), headers, "payload" + i);
-
- // recoverable store, non-reliable message, one message
- refs[i] = ms.reference(m[i]);
- assertCorrectReference(refs[i], m[i]);
- }
-
- // get reachable reference
-
- for (int i = 0; i < NUMBER_OF_MESSAGES; i++)
- {
- refs[i].releaseMemoryReference();
- }
-
- // there are no strong references to the message reference anymore, so the message store
- // should be cleaned of everything that pertains to those message
-
- for (int i = 0; i < NUMBER_OF_MESSAGES; i++)
- {
- assertNull(ms.reference(m[i].getMessageID()));
- }
- }
-
- public void testMessageStore_6() throws Exception
- {
-
- Message m = CoreMessageFactory.
- createCoreMessage(0, true, 777l, 888l, (byte)9, headers, "payload");
-
- // non-recoverable store, non-reliable message, one message
- MessageReference ref = ms.reference(m);
- assertCorrectReference(ref, m);
-
- //Create another reference from that reference
- MessageReference ref2 = ms.reference(m);
-
- ref.releaseMemoryReference();
-
- MessageReference ref3 = ms.reference(m.getMessageID());
- assertNotNull(ref3);
- ref3.releaseMemoryReference();
-
- assertCorrectReference(ref3, m);
-
- ref2.releaseMemoryReference();
-
- // there's no strong reference to the unique message reference anymore, so the message store
- // should be cleaned of everything that pertains to that message
-
- ref3 = ms.reference(m.getMessageID());
- assertNull(ref3);
- }
-
- public void testMessageStore_7() throws Exception
- {
- Message m = CoreMessageFactory.
- createCoreMessage(0, true, 777l, 888l, (byte)9, headers, "payload");
-
- // non-recoverable store, non-reliable message, one message
- MessageReference ref = ms.reference(m);
- assertCorrectReference(ref, m);
-
- MessageReference ref2 = ms.reference(ref.getMessage().getMessageID());
- assertNotNull(ref2);
- assertCorrectReference(ref2, m);
-
- MessageReference ref3 = ms.reference(ref.getMessage().getMessageID());
- assertNotNull(ref3);
- assertCorrectReference(ref3, m);
-
- ref.releaseMemoryReference();
- ref2.releaseMemoryReference();
- ref3.releaseMemoryReference();
-
- MessageReference ref4 = ms.reference(ref.getMessage().getMessageID());
-
- assertNull(ref4);
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-
-}
Deleted: trunk/tests/src/org/jboss/test/messaging/core/SimpleMessageStoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/SimpleMessageStoreTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/SimpleMessageStoreTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -1,78 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.messaging.core;
-
-import org.jboss.logging.Logger;
-import org.jboss.messaging.core.impl.message.SimpleMessageStore;
-
-/**
- * @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
- * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- * @version <tt>$Revision: 731 $</tt>
- *
- * $Id: MessageStoreWithoutPersistenceManagerTest.java 731 2006-03-13 05:26:40Z ovidiu $
- */
-public class SimpleMessageStoreTest extends MessageStoreTestBase
-{
- // Constants -----------------------------------------------------
-
- protected Logger log = Logger.getLogger(SimpleMessageStoreTest.class);
-
- // Static --------------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- public SimpleMessageStoreTest(String name)
- {
- super(name);
- }
-
- // Public --------------------------------------------------------
-
- public void setUp() throws Exception
- {
- super.setUp();
-
- ms = new SimpleMessageStore();
-
- log.debug("setup done");
- }
-
- public void tearDown() throws Exception
- {
- ms = null;
-
- super.tearDown();
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-
-
-}
\ No newline at end of file
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_2PCTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -84,12 +84,10 @@
refs1[i] = ms.reference(msgs[i]);
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
+
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -121,8 +119,6 @@
//Msgs
- assertEquals(50, ms.size());
-
List msgIds = getMessageIds();
assertEquals(0, msgIds.size());
@@ -137,13 +133,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -175,9 +167,7 @@
assertEquals(0, queue2.getDeliveringCount());
//Msgs
-
- assertEquals(75, ms.size());
-
+
msgIds = getMessageIds();
assertEquals(25, msgIds.size());
@@ -191,13 +181,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -229,9 +215,7 @@
assertEquals(0, queue2.getDeliveringCount());
//Msgs
-
- assertEquals(100, ms.size());
-
+
msgIds = getMessageIds();
assertEquals(50, msgIds.size());
@@ -244,14 +228,10 @@
refs1[i] = ms.reference(msgs[i]);
queue1.handle(null, refs1[i], tx);
-
- refs1[i].releaseMemoryReference();
-
+
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -284,8 +264,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(100, msgIds.size());
@@ -328,8 +306,6 @@
//Msgs
- assertEquals(0, ms.size());
-
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_NTTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -82,14 +82,10 @@
refs1[i] = ms.reference(msgs[i]);
queue1.handle(null, refs1[i], null);
-
- refs1[i].releaseMemoryReference();
-
+
refs2[i] = ms.reference(msgs[i]);
- queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
+ queue2.handle(null, refs2[i], null);
}
//Queue1
@@ -119,8 +115,6 @@
//Msgs
- assertEquals(50, ms.size());
-
List msgIds = getMessageIds();
assertEquals(0, msgIds.size());
@@ -134,13 +128,9 @@
queue1.handle(null, refs1[i], null);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
}
//Queue1
@@ -171,13 +161,9 @@
//Msgs
- assertEquals(75, ms.size());
-
msgIds = getMessageIds();
assertEquals(25, msgIds.size());
-
-
// Add 25 more
for (int i = 75; i < 100; i++)
@@ -188,13 +174,9 @@
queue1.handle(null, refs1[i], null);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
}
//Queue1
@@ -225,8 +207,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(50, msgIds.size());
@@ -241,13 +221,9 @@
queue1.handle(null, refs1[i], null);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
}
//Queue1
@@ -278,8 +254,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(100, msgIds.size());
@@ -322,8 +296,6 @@
//Msgs
- assertEquals(0, ms.size());
-
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_NP_TTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -85,13 +85,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -121,9 +117,7 @@
assertEquals(0, queue2.getDeliveringCount());
//Msgs
-
- assertEquals(50, ms.size());
-
+
List msgIds = getMessageIds();
assertEquals(0, msgIds.size());
@@ -138,13 +132,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -176,13 +166,10 @@
//Msgs
- assertEquals(75, ms.size());
-
msgIds = getMessageIds();
assertEquals(25, msgIds.size());
-
-
+
// Add 25 more
tx = tr.createTransaction();
for (int i = 75; i < 100; i++)
@@ -193,13 +180,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -230,9 +213,7 @@
assertEquals(0, queue2.getDeliveringCount());
//Msgs
-
- assertEquals(100, ms.size());
-
+
msgIds = getMessageIds();
assertEquals(50, msgIds.size());
@@ -246,14 +227,10 @@
refs1[i] = ms.reference(msgs[i]);
queue1.handle(null, refs1[i], tx);
-
- refs1[i].releaseMemoryReference();
-
+
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -285,8 +262,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(100, msgIds.size());
@@ -329,8 +304,6 @@
//Msgs
- assertEquals(0, ms.size());
-
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_2PCTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -79,13 +79,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -123,8 +119,6 @@
//Msgs
- assertEquals(50, ms.size());
-
List msgIds = getMessageIds();
assertEquals(50, msgIds.size());
@@ -138,13 +132,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -183,13 +173,10 @@
//Msgs
- assertEquals(75, ms.size());
-
msgIds = getMessageIds();
assertEquals(75, msgIds.size());
-
-
+
// Add 25 more
tx = createXATx();
for (int i = 75; i < 100; i++)
@@ -200,13 +187,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -245,8 +228,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(100, msgIds.size());
@@ -261,13 +242,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -306,8 +283,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(150, msgIds.size());
@@ -350,8 +325,6 @@
//Msgs
- assertEquals(0, ms.size());
-
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_NTTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -83,13 +83,9 @@
queue1.handle(null, refs1[i], null);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
}
//Queue1
@@ -125,8 +121,6 @@
//Msgs
- assertEquals(50, ms.size());
-
List msgIds = getMessageIds();
assertEquals(50, msgIds.size());
@@ -139,14 +133,10 @@
refs1[i] = ms.reference(msgs[i]);
queue1.handle(null, refs1[i], null);
-
- refs1[i].releaseMemoryReference();
-
+
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
}
//Queue1
@@ -183,8 +173,6 @@
//Msgs
- assertEquals(75, ms.size());
-
msgIds = getMessageIds();
assertEquals(75, msgIds.size());
@@ -200,13 +188,9 @@
queue1.handle(null, refs1[i], null);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
}
//Queue1
@@ -243,8 +227,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(100, msgIds.size());
@@ -259,13 +241,9 @@
queue1.handle(null, refs1[i], null);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], null);
-
- refs2[i].releaseMemoryReference();
}
//Queue1
@@ -301,9 +279,7 @@
assertEquals(0, queue2.getDeliveringCount());
//Msgs
-
- assertEquals(100, ms.size());
-
+
msgIds = getMessageIds();
assertEquals(150, msgIds.size());
@@ -346,8 +322,6 @@
//Msgs
- assertEquals(0, ms.size());
-
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/ChannelShare_P_TTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -83,13 +83,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -126,8 +122,6 @@
//Msgs
- assertEquals(50, ms.size());
-
List msgIds = getMessageIds();
assertEquals(50, msgIds.size());
@@ -141,13 +135,9 @@
queue1.handle(null, refs1[i], tx);
- refs1[i].releaseMemoryReference();
-
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -185,8 +175,6 @@
//Msgs
- assertEquals(75, ms.size());
-
msgIds = getMessageIds();
assertEquals(75, msgIds.size());
@@ -201,14 +189,10 @@
refs1[i] = ms.reference(msgs[i]);
queue1.handle(null, refs1[i], tx);
-
- refs1[i].releaseMemoryReference();
-
+
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -246,8 +230,6 @@
//Msgs
- assertEquals(100, ms.size());
-
msgIds = getMessageIds();
assertEquals(100, msgIds.size());
@@ -261,14 +243,10 @@
refs1[i] = ms.reference(msgs[i]);
queue1.handle(null, refs1[i], tx);
-
- refs1[i].releaseMemoryReference();
-
+
refs2[i] = ms.reference(msgs[i]);
queue2.handle(null, refs2[i], tx);
-
- refs2[i].releaseMemoryReference();
}
tx.commit();
@@ -305,9 +283,7 @@
assertEquals(0, queue2.getDeliveringCount());
//Msgs
-
- assertEquals(100, ms.size());
-
+
msgIds = getMessageIds();
assertEquals(150, msgIds.size());
@@ -350,8 +326,6 @@
//Msgs
- assertEquals(0, ms.size());
-
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/PagingStateTestBase.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -204,8 +204,7 @@
//Wait for them all to arrive first
synchronized (this)
- {
-
+ {
while (count < numToConsume)
{
wait(10000);
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_2PCTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -81,8 +81,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
-
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -96,9 +94,6 @@
List msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
- //Verify 99 msgs in store
- assertEquals(99, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -119,8 +114,7 @@
msgs[99] = CoreMessageFactory.createCoreMessage(99, false, null);
refs[99] = ms.reference(msgs[99]);
queue.handle(null, refs[99], tx);
- refs[99].releaseMemoryReference();
-
+
tx.prepare();
tx.commit();
@@ -132,10 +126,7 @@
//Verify no msgs in storage
msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -157,7 +148,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -171,9 +161,6 @@
msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
- //Verify 109 msgs in store
- assertEquals(109, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -195,7 +182,6 @@
msgs[109] = CoreMessageFactory.createCoreMessage(109, false, null);
refs[109] = ms.reference(msgs[109]);
queue.handle(null, refs[109], tx);
- refs[109].releaseMemoryReference();
tx.prepare();
tx.commit();
@@ -210,9 +196,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 100, 109);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -233,7 +216,6 @@
msgs[110] = CoreMessageFactory.createCoreMessage(110, false, null);
refs[110] = ms.reference(msgs[110]);
queue.handle(null, refs[110], tx);
- refs[110].releaseMemoryReference();
tx.prepare();
tx.commit();
@@ -247,10 +229,7 @@
msgIds = getMessageIds();
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 100, 109);
-
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -273,7 +252,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -289,9 +267,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 100, 119);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -311,7 +286,6 @@
Message m = CoreMessageFactory.createCoreMessage(i, true, null);
MessageReference ref = ms.reference(m);
queue.handle(null, ref, tx);
- ref.releaseMemoryReference();
}
tx.prepare();
tx.rollback();
@@ -325,7 +299,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -341,9 +314,6 @@
assertEquals(30, msgIds.size());
assertSameIds(msgIds, refs, 100, 129);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -367,7 +337,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -383,9 +352,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -407,7 +373,6 @@
msgs[140] = CoreMessageFactory.createCoreMessage(140, false, null);
refs[140] = ms.reference(msgs[140]);
queue.handle(null, refs[140], tx);
- refs[140].releaseMemoryReference();
tx.prepare();
tx.commit();
@@ -422,9 +387,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -456,9 +418,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -492,10 +451,7 @@
msgIds = getMessageIds();
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
-
- //Verify 82 msgs in store
- assertEquals(82, ms.size());
-
+
//Verify 81 refs in queue
assertEquals(81, queue.memoryRefCount());
@@ -526,10 +482,7 @@
msgIds = getMessageIds();
assertEquals(21, msgIds.size());
assertSameIds(msgIds, refs, 120, 140);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -561,9 +514,6 @@
assertEquals(1, msgIds.size());
assertSameIds(msgIds, refs, 140, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -593,9 +543,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 81 msgs in store
- assertEquals(100, ms.size());
-
//Verify 81 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -624,10 +571,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 80 msgs in store
- assertEquals(80, ms.size());
-
+
//Verify 80 refs in queue
assertEquals(80, queue.memoryRefCount());
@@ -657,9 +601,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 20 msgs in store
- assertEquals(20, ms.size());
-
//Verify 20 refs in queue
assertEquals(20, queue.memoryRefCount());
@@ -681,7 +622,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -694,10 +634,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 40 msgs in store
- assertEquals(40, ms.size());
-
+
//Verify 40 refs in queue
assertEquals(40, queue.memoryRefCount());
@@ -720,7 +657,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -733,10 +669,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 60 msgs in store
- assertEquals(60, ms.size());
-
+
//Verify 60 refs in queue
assertEquals(60, queue.memoryRefCount());
@@ -758,7 +691,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -774,9 +706,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 221, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -807,9 +736,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -839,9 +765,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -871,9 +794,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 231, 240);
- //Verify 110 msgs in store
- assertEquals(110, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -905,9 +825,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 221, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -934,9 +851,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 70 msgs in store
- assertEquals(70, ms.size());
-
//Verify 70 refs in queue
assertEquals(70, queue.memoryRefCount());
@@ -961,9 +875,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 0 msgs in store
- assertEquals(0, ms.size());
-
//Verify 0 refs in queue
assertEquals(0, queue.memoryRefCount());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_NTTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -77,7 +77,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify no refs in storage
@@ -89,9 +88,6 @@
List msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
- //Verify 99 msgs in store
- assertEquals(99, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -110,8 +106,7 @@
msgs[99] = CoreMessageFactory.createCoreMessage(99, false, null);
refs[99] = ms.reference(msgs[99]);
queue.handle(null, refs[99], null);
- refs[99].releaseMemoryReference();
-
+
//verify no refs in storage
refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
@@ -121,9 +116,6 @@
msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -143,7 +135,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify no refs in storage
@@ -154,10 +145,7 @@
//Verify no msgs in storage
msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
-
- //Verify 100 msgs in store
- assertEquals(109, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -178,8 +166,7 @@
msgs[109] = CoreMessageFactory.createCoreMessage(109, false, null);
refs[109] = ms.reference(msgs[109]);
queue.handle(null, refs[109], null);
- refs[109].releaseMemoryReference();
-
+
//verify 10 refs in storage
refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
@@ -191,9 +178,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 100, 109);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -213,7 +197,6 @@
msgs[110] = CoreMessageFactory.createCoreMessage(110, false, null);
refs[110] = ms.reference(msgs[110]);
queue.handle(null, refs[110], null);
- refs[110].releaseMemoryReference();
//verify 10 refs in storage
@@ -226,9 +209,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 100, 109);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -250,7 +230,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 20 refs in storage
@@ -264,9 +243,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 100, 119);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -289,7 +265,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 30 refs in storage
@@ -303,9 +278,6 @@
assertEquals(30, msgIds.size());
assertSameIds(msgIds, refs, 100, 129);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -328,7 +300,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 40 refs in storage
@@ -342,9 +313,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -365,7 +333,6 @@
msgs[140] = CoreMessageFactory.createCoreMessage(140, false, null);
refs[140] = ms.reference(msgs[140]);
queue.handle(null, refs[140], null);
- refs[140].releaseMemoryReference();
//verify 40 refs in storage
@@ -378,9 +345,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 100 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -412,9 +376,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -449,9 +410,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 82 msgs in store
- assertEquals(82, ms.size());
-
//Verify 81 refs in queue
assertEquals(81, queue.memoryRefCount());
@@ -485,10 +443,7 @@
msgIds = getMessageIds();
assertEquals(21, msgIds.size());
assertSameIds(msgIds, refs, 120, 140);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -519,10 +474,7 @@
msgIds = getMessageIds();
assertEquals(1, msgIds.size());
assertSameIds(msgIds, refs, 140, 140);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -552,9 +504,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 81 msgs in store
- assertEquals(100, ms.size());
-
//Verify 81 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -584,9 +533,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 80 msgs in store
- assertEquals(80, ms.size());
-
//Verify 80 refs in queue
assertEquals(80, queue.memoryRefCount());
@@ -616,9 +562,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 20 msgs in store
- assertEquals(20, ms.size());
-
//Verify 20 refs in queue
assertEquals(20, queue.memoryRefCount());
@@ -639,7 +582,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 0 ref in storage
@@ -650,10 +592,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 40 msgs in store
- assertEquals(40, ms.size());
-
+
//Verify 40 refs in queue
assertEquals(40, queue.memoryRefCount());
@@ -675,7 +614,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 0 ref in storage
@@ -687,9 +625,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 60 msgs in store
- assertEquals(60, ms.size());
-
//Verify 60 refs in queue
assertEquals(60, queue.memoryRefCount());
@@ -710,7 +645,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 20 ref in storage
@@ -723,10 +657,7 @@
msgIds = getMessageIds();
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 221, 240);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -759,9 +690,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -791,9 +719,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -825,9 +750,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 231, 240);
- //Verify 110 msgs in store
- assertEquals(110, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -859,9 +781,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 221, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -890,10 +809,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 70 msgs in store
- assertEquals(70, ms.size());
-
+
//Verify 0 deliveries
assertEquals(0, queue.getDeliveringCount());
@@ -924,9 +840,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 0 msgs in store
- assertEquals(0, ms.size());
-
//Verify 0 refs in queue
assertEquals(0, queue.memoryRefCount());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_NP_TTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -81,7 +81,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -94,9 +93,6 @@
List msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
- //Verify 99 msgs in store
- assertEquals(99, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -117,8 +113,7 @@
msgs[99] = CoreMessageFactory.createCoreMessage(99, false, null);
refs[99] = ms.reference(msgs[99]);
queue.handle(null, refs[99], tx);
- refs[99].releaseMemoryReference();
-
+
tx.commit();
//verify no refs in storage
@@ -130,9 +125,6 @@
msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -154,7 +146,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -166,10 +157,7 @@
//Verify no msgs in storage
msgIds = getMessageIds();
assertTrue(msgIds.isEmpty());
-
- //Verify 109 msgs in store
- assertEquals(109, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -191,7 +179,6 @@
msgs[109] = CoreMessageFactory.createCoreMessage(109, false, null);
refs[109] = ms.reference(msgs[109]);
queue.handle(null, refs[109], tx);
- refs[109].releaseMemoryReference();
tx.commit();
//verify 10 refs in storage
@@ -205,9 +192,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 100, 109);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -228,7 +212,6 @@
msgs[110] = CoreMessageFactory.createCoreMessage(110, false, null);
refs[110] = ms.reference(msgs[110]);
queue.handle(null, refs[110], tx);
- refs[110].releaseMemoryReference();
tx.commit();
//verify 10 refs in storage
@@ -242,9 +225,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 100, 109);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -267,7 +247,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -282,9 +261,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 100, 119);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -305,7 +281,6 @@
Message m = CoreMessageFactory.createCoreMessage(i, true, null);
MessageReference ref = ms.reference(m);
queue.handle(null, ref, tx);
- ref.releaseMemoryReference();
}
tx.rollback();
@@ -318,7 +293,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -333,9 +307,6 @@
assertEquals(30, msgIds.size());
assertSameIds(msgIds, refs, 100, 129);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -348,9 +319,7 @@
//Verify no deliveries
assertEquals(0, queue.getDeliveringCount());
-
-
-
+
//Send 10 more refs
tx = tr.createTransaction();
@@ -359,7 +328,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -374,9 +342,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -398,7 +363,6 @@
msgs[140] = CoreMessageFactory.createCoreMessage(140, false, null);
refs[140] = ms.reference(msgs[140]);
queue.handle(null, refs[140], tx);
- refs[140].releaseMemoryReference();
tx.commit();
//verify 40 refs in storage
@@ -412,9 +376,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -446,9 +407,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -483,9 +441,6 @@
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 100, 139);
- //Verify 82 msgs in store
- assertEquals(82, ms.size());
-
//Verify 81 refs in queue
assertEquals(81, queue.memoryRefCount());
@@ -519,9 +474,6 @@
assertEquals(21, msgIds.size());
assertSameIds(msgIds, refs, 120, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -553,9 +505,6 @@
assertEquals(1, msgIds.size());
assertSameIds(msgIds, refs, 140, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -585,9 +534,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 81 msgs in store
- assertEquals(100, ms.size());
-
//Verify 81 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -616,10 +562,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 80 msgs in store
- assertEquals(80, ms.size());
-
+
//Verify 80 refs in queue
assertEquals(80, queue.memoryRefCount());
@@ -648,10 +591,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 20 msgs in store
- assertEquals(20, ms.size());
-
+
//Verify 20 refs in queue
assertEquals(20, queue.memoryRefCount());
@@ -673,7 +613,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -686,9 +625,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 40 msgs in store
- assertEquals(40, ms.size());
-
//Verify 40 refs in queue
assertEquals(40, queue.memoryRefCount());
@@ -711,7 +647,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -724,9 +659,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 60 msgs in store
- assertEquals(60, ms.size());
-
//Verify 60 refs in queue
assertEquals(60, queue.memoryRefCount());
@@ -748,7 +680,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, false, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -763,9 +694,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 221, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -796,10 +724,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -829,9 +754,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -863,9 +785,6 @@
assertEquals(10, msgIds.size());
assertSameIds(msgIds, refs, 231, 240);
- //Verify 110 msgs in store
- assertEquals(110, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -897,9 +816,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 221, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -926,9 +842,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 70 msgs in store
- assertEquals(70, ms.size());
-
//Verify 70 refs in queue
assertEquals(70, queue.memoryRefCount());
@@ -952,10 +865,7 @@
//Verify 0 msgs in storage
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
-
- //Verify 0 msgs in store
- assertEquals(0, ms.size());
-
+
//Verify 0 refs in queue
assertEquals(0, queue.memoryRefCount());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_2PCTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -79,7 +79,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -99,9 +98,6 @@
assertEquals(99, msgIds.size());
assertSameIds(msgIds, refs, 0, 98);
- //Verify 99 msgs in store
- assertEquals(99, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -121,7 +117,6 @@
msgs[99] = CoreMessageFactory.createCoreMessage(99, true, null);
refs[99] = ms.reference(msgs[99]);
queue.handle(null, refs[99], tx);
- refs[99].releaseMemoryReference();
tx.prepare();
tx.commit();
@@ -140,9 +135,6 @@
assertEquals(100, msgIds.size());
assertSameIds(msgIds, refs, 0, 99);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -164,7 +156,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -184,9 +175,6 @@
assertEquals(109, msgIds.size());
assertSameIds(msgIds, refs, 0, 108);
- //Verify 109 msgs in store
- assertEquals(109, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -208,7 +196,6 @@
msgs[109] = CoreMessageFactory.createCoreMessage(109, true, null);
refs[109] = ms.reference(msgs[109]);
queue.handle(null, refs[109], null);
- refs[109].releaseMemoryReference();
tx.prepare();
tx.commit();
@@ -227,10 +214,7 @@
msgIds = getMessageIds();
assertEquals(110, msgIds.size());
assertSameIds(msgIds, refs, 0, 109);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -250,7 +234,6 @@
msgs[110] = CoreMessageFactory.createCoreMessage(110, true, null);
refs[110] = ms.reference(msgs[110]);
queue.handle(null, refs[110], null);
- refs[110].releaseMemoryReference();
tx.prepare();
tx.commit();
@@ -270,9 +253,6 @@
assertEquals(111, msgIds.size());
assertSameIds(msgIds, refs, 0, 110);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -294,7 +274,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -315,9 +294,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 0, 119);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -337,7 +313,6 @@
Message m = CoreMessageFactory.createCoreMessage(i, true, null);
MessageReference ref = ms.reference(m);
queue.handle(null, ref, tx);
- ref.releaseMemoryReference();
}
tx.prepare();
tx.rollback();
@@ -350,7 +325,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -371,9 +345,6 @@
assertEquals(130, msgIds.size());
assertSameIds(msgIds, refs, 0, 129);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -396,7 +367,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -417,9 +387,7 @@
assertEquals(140, msgIds.size());
assertSameIds(msgIds, refs, 0, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -440,7 +408,6 @@
msgs[140] = CoreMessageFactory.createCoreMessage(140, true, null);
refs[140] = ms.reference(msgs[140]);
queue.handle(null, refs[140], null);
- refs[140].releaseMemoryReference();
tx.prepare();
tx.commit();
@@ -460,9 +427,6 @@
assertEquals(141, msgIds.size());
assertSameIds(msgIds, refs, 0, 140);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -498,9 +462,6 @@
assertEquals(140, msgIds.size());
assertSameIds(msgIds, refs, 1, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -540,9 +501,6 @@
assertEquals(122, msgIds.size());
assertSameIds(msgIds, refs, 19, 140);
- //Verify 82 msgs in store
- assertEquals(82, ms.size());
-
//Verify 81 refs in queue
assertEquals(81, queue.memoryRefCount());
@@ -581,9 +539,6 @@
assertEquals(121, msgIds.size());
assertSameIds(msgIds, refs, 20, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -620,9 +575,6 @@
assertEquals(101, msgIds.size());
assertSameIds(msgIds, refs, 40, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -657,10 +609,7 @@
msgIds = getMessageIds();
assertEquals(100, msgIds.size());
assertSameIds(msgIds, refs, 41, 140);
-
- //Verify 81 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 81 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -696,9 +645,6 @@
assertEquals(80, msgIds.size());
assertSameIds(msgIds, refs, 61, 140);
- //Verify 80 msgs in store
- assertEquals(80, ms.size());
-
//Verify 80 refs in queue
assertEquals(80, queue.memoryRefCount());
@@ -733,10 +679,7 @@
msgIds = getMessageIds();
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 121, 140);
-
- //Verify 20 msgs in store
- assertEquals(20, ms.size());
-
+
//Verify 20 refs in queue
assertEquals(20, queue.memoryRefCount());
@@ -758,7 +701,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -775,10 +717,7 @@
msgIds = getMessageIds();
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 121, 160);
-
- //Verify 40 msgs in store
- assertEquals(40, ms.size());
-
+
//Verify 40 refs in queue
assertEquals(40, queue.memoryRefCount());
@@ -801,7 +740,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -819,9 +757,6 @@
assertEquals(60, msgIds.size());
assertSameIds(msgIds, refs, 121, 180);
- //Verify 60 msgs in store
- assertEquals(60, ms.size());
-
//Verify 60 refs in queue
assertEquals(60, queue.memoryRefCount());
@@ -843,7 +778,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
tx.prepare();
tx.commit();
@@ -864,9 +798,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -904,9 +835,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -942,9 +870,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -981,9 +906,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 110 msgs in store
- assertEquals(110, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -1020,9 +942,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -1056,10 +975,7 @@
msgIds = getMessageIds();
assertEquals(70, msgIds.size());
assertSameIds(msgIds, refs, 171, 240);
-
- //Verify 70 msgs in store
- assertEquals(70, ms.size());
-
+
//Verify 70 refs in queue
assertEquals(70, queue.memoryRefCount());
@@ -1089,9 +1005,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 0 msgs in store
- assertEquals(0, ms.size());
-
//Verify 0 refs in queue
assertEquals(0, queue.memoryRefCount());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_NTTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -77,7 +77,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify no unloaded refs in storage
@@ -94,10 +93,7 @@
List msgIds = getMessageIds();
assertEquals(99, msgIds.size());
assertSameIds(msgIds, refs, 0, 98);
-
- //Verify 99 msgs in store
- assertEquals(99, ms.size());
-
+
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -116,8 +112,7 @@
msgs[99] = CoreMessageFactory.createCoreMessage(99, true, null);
refs[99] = ms.reference(msgs[99]);
queue.handle(null, refs[99], null);
- refs[99].releaseMemoryReference();
-
+
//verify no unloaded refs in storage
refIds = getPagedReferenceIds(queue.getChannelID());
@@ -133,9 +128,6 @@
assertEquals(100, msgIds.size());
assertSameIds(msgIds, refs, 0, 99);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -156,7 +148,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify no unloaded refs in storage
@@ -174,9 +165,6 @@
assertEquals(109, msgIds.size());
assertSameIds(msgIds, refs, 0, 108);
- //Verify 109 msgs in store
- assertEquals(109, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -194,8 +182,6 @@
msgs[109] = CoreMessageFactory.createCoreMessage(109, true, null);
refs[109] = ms.reference(msgs[109]);
queue.handle(null, refs[109], null);
- refs[109].releaseMemoryReference();
-
//verify 10 unloaded refs in storage
refIds = getPagedReferenceIds(queue.getChannelID());
@@ -212,9 +198,6 @@
assertEquals(110, msgIds.size());
assertSameIds(msgIds, refs, 0, 109);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -234,8 +217,7 @@
msgs[110] = CoreMessageFactory.createCoreMessage(110, true, null);
refs[110] = ms.reference(msgs[110]);
queue.handle(null, refs[110], null);
- refs[110].releaseMemoryReference();
-
+
//verify 10 unloaded refs in storage
refIds = getPagedReferenceIds(queue.getChannelID());
@@ -252,9 +234,6 @@
assertEquals(111, msgIds.size());
assertSameIds(msgIds, refs, 0, 110);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -276,7 +255,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 20 unloaded refs in storage
@@ -294,10 +272,7 @@
msgIds = getMessageIds();
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 0, 119);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -320,7 +295,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 30 unloaded refs in storage
@@ -339,9 +313,6 @@
assertEquals(130, msgIds.size());
assertSameIds(msgIds, refs, 0, 129);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -364,7 +335,7 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
+
}
//verify 40 unloaded refs in storage
@@ -383,9 +354,6 @@
assertEquals(140, msgIds.size());
assertSameIds(msgIds, refs, 0, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -406,8 +374,7 @@
msgs[140] = CoreMessageFactory.createCoreMessage(140, true, null);
refs[140] = ms.reference(msgs[140]);
queue.handle(null, refs[140], null);
- refs[140].releaseMemoryReference();
-
+
//verify 40 unloaded refs in storage
refIds = getPagedReferenceIds(queue.getChannelID());
@@ -424,9 +391,6 @@
assertEquals(141, msgIds.size());
assertSameIds(msgIds, refs, 0, 140);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -463,9 +427,6 @@
assertEquals(140, msgIds.size());
assertSameIds(msgIds, refs, 1, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -503,10 +464,7 @@
msgIds = getMessageIds();
assertEquals(122, msgIds.size());
assertSameIds(msgIds, refs, 19, 140);
-
- //Verify 82 msgs in store
- assertEquals(82, ms.size());
-
+
//Verify 81 refs in queue
assertEquals(81, queue.memoryRefCount());
@@ -545,9 +503,6 @@
assertEquals(121, msgIds.size());
assertSameIds(msgIds, refs, 20, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -584,9 +539,6 @@
assertEquals(101, msgIds.size());
assertSameIds(msgIds, refs, 40, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -622,9 +574,6 @@
assertEquals(100, msgIds.size());
assertSameIds(msgIds, refs, 41, 140);
- //Verify 81 msgs in store
- assertEquals(100, ms.size());
-
//Verify 81 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -659,10 +608,7 @@
msgIds = getMessageIds();
assertEquals(80, msgIds.size());
assertSameIds(msgIds, refs, 61, 140);
-
- //Verify 80 msgs in store
- assertEquals(80, ms.size());
-
+
//Verify 80 refs in queue
assertEquals(80, queue.memoryRefCount());
@@ -697,9 +643,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 121, 140);
- //Verify 20 msgs in store
- assertEquals(20, ms.size());
-
//Verify 20 refs in queue
assertEquals(20, queue.memoryRefCount());
@@ -720,7 +663,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
refIds = getPagedReferenceIds(queue.getChannelID());
@@ -735,10 +677,7 @@
msgIds = getMessageIds();
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 121, 160);
-
- //Verify 40 msgs in store
- assertEquals(40, ms.size());
-
+
//Verify 40 refs in queue
assertEquals(40, queue.memoryRefCount());
@@ -760,7 +699,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
refIds = getPagedReferenceIds(queue.getChannelID());
@@ -776,9 +714,6 @@
assertEquals(60, msgIds.size());
assertSameIds(msgIds, refs, 121, 180);
- //Verify 60 msgs in store
- assertEquals(60, ms.size());
-
//Verify 60 refs in queue
assertEquals(60, queue.memoryRefCount());
@@ -799,7 +734,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
- refs[i].releaseMemoryReference();
}
//verify 20 unloaded ref in storage
@@ -818,9 +752,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -858,9 +789,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -896,9 +824,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -935,9 +860,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 110 msgs in store
- assertEquals(110, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -973,10 +895,7 @@
msgIds = getMessageIds();
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -1011,9 +930,6 @@
assertEquals(70, msgIds.size());
assertSameIds(msgIds, refs, 171, 240);
- //Verify 70 msgs in store
- assertEquals(70, ms.size());
-
//Verify 70 refs in queue
assertEquals(70, queue.memoryRefCount());
@@ -1043,9 +959,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 0 msgs in store
- assertEquals(0, ms.size());
-
//Verify 0 refs in queue
assertEquals(0, queue.memoryRefCount());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_P_TTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -79,7 +79,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -98,9 +97,6 @@
assertEquals(99, msgIds.size());
assertSameIds(msgIds, refs, 0, 98);
- //Verify 99 msgs in store
- assertEquals(99, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -120,7 +116,6 @@
msgs[99] = CoreMessageFactory.createCoreMessage(99, true, null);
refs[99] = ms.reference(msgs[99]);
queue.handle(null, refs[99], tx);
- refs[99].releaseMemoryReference();
tx.commit();
//verify no unloaded refs in storage
@@ -138,9 +133,6 @@
assertEquals(100, msgIds.size());
assertSameIds(msgIds, refs, 0, 99);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -162,7 +154,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -181,9 +172,6 @@
assertEquals(109, msgIds.size());
assertSameIds(msgIds, refs, 0, 108);
- //Verify 109 msgs in store
- assertEquals(109, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -205,7 +193,6 @@
msgs[109] = CoreMessageFactory.createCoreMessage(109, true, null);
refs[109] = ms.reference(msgs[109]);
queue.handle(null, refs[109], tx);
- refs[109].releaseMemoryReference();
tx.commit();
//verify 10 unloaded refs in storage
@@ -224,9 +211,6 @@
assertEquals(110, msgIds.size());
assertSameIds(msgIds, refs, 0, 109);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -246,7 +230,6 @@
msgs[110] = CoreMessageFactory.createCoreMessage(110, true, null);
refs[110] = ms.reference(msgs[110]);
queue.handle(null, refs[110], tx);
- refs[110].releaseMemoryReference();
tx.commit();
//verify 10 unloaded refs in storage
@@ -265,9 +248,6 @@
assertEquals(111, msgIds.size());
assertSameIds(msgIds, refs, 0, 110);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -289,7 +269,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -309,9 +288,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 0, 119);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -334,7 +310,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -354,9 +329,6 @@
assertEquals(130, msgIds.size());
assertSameIds(msgIds, refs, 0, 129);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -376,7 +348,6 @@
Message m = CoreMessageFactory.createCoreMessage(i, true, null);
MessageReference ref = ms.reference(m);
queue.handle(null, ref, tx);
- ref.releaseMemoryReference();
}
tx.rollback();
@@ -388,7 +359,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -408,9 +378,6 @@
assertEquals(140, msgIds.size());
assertSameIds(msgIds, refs, 0, 139);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -431,7 +398,6 @@
msgs[140] = CoreMessageFactory.createCoreMessage(140, true, null);
refs[140] = ms.reference(msgs[140]);
queue.handle(null, refs[140], tx);
- refs[140].releaseMemoryReference();
tx.commit();
//verify 40 unloaded refs in storage
@@ -450,9 +416,6 @@
assertEquals(141, msgIds.size());
assertSameIds(msgIds, refs, 0, 140);
- //Verify 101 msgs in store
- assertEquals(101, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -488,9 +451,6 @@
assertEquals(140, msgIds.size());
assertSameIds(msgIds, refs, 1, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 99 refs in queue
assertEquals(99, queue.memoryRefCount());
@@ -530,9 +490,6 @@
assertEquals(122, msgIds.size());
assertSameIds(msgIds, refs, 19, 140);
- //Verify 82 msgs in store
- assertEquals(82, ms.size());
-
//Verify 81 refs in queue
assertEquals(81, queue.memoryRefCount());
@@ -570,10 +527,7 @@
msgIds = getMessageIds();
assertEquals(121, msgIds.size());
assertSameIds(msgIds, refs, 20, 140);
-
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
+
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -610,9 +564,6 @@
assertEquals(101, msgIds.size());
assertSameIds(msgIds, refs, 40, 140);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -648,9 +599,6 @@
assertEquals(100, msgIds.size());
assertSameIds(msgIds, refs, 41, 140);
- //Verify 81 msgs in store
- assertEquals(100, ms.size());
-
//Verify 81 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -686,9 +634,6 @@
assertEquals(80, msgIds.size());
assertSameIds(msgIds, refs, 61, 140);
- //Verify 80 msgs in store
- assertEquals(80, ms.size());
-
//Verify 80 refs in queue
assertEquals(80, queue.memoryRefCount());
@@ -724,9 +669,6 @@
assertEquals(20, msgIds.size());
assertSameIds(msgIds, refs, 121, 140);
- //Verify 20 msgs in store
- assertEquals(20, ms.size());
-
//Verify 20 refs in queue
assertEquals(20, queue.memoryRefCount());
@@ -748,7 +690,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -764,10 +705,7 @@
msgIds = getMessageIds();
assertEquals(40, msgIds.size());
assertSameIds(msgIds, refs, 121, 160);
-
- //Verify 40 msgs in store
- assertEquals(40, ms.size());
-
+
//Verify 40 refs in queue
assertEquals(40, queue.memoryRefCount());
@@ -790,7 +728,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -807,9 +744,6 @@
assertEquals(60, msgIds.size());
assertSameIds(msgIds, refs, 121, 180);
- //Verify 60 msgs in store
- assertEquals(60, ms.size());
-
//Verify 60 refs in queue
assertEquals(60, queue.memoryRefCount());
@@ -831,7 +765,6 @@
msgs[i] = CoreMessageFactory.createCoreMessage(i, true, null);
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], tx);
- refs[i].releaseMemoryReference();
}
tx.commit();
@@ -851,9 +784,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -891,9 +821,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -929,9 +856,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 120 msgs in store
- assertEquals(120, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -968,9 +892,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 110 msgs in store
- assertEquals(110, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -1007,9 +928,6 @@
assertEquals(120, msgIds.size());
assertSameIds(msgIds, refs, 121, 240);
- //Verify 100 msgs in store
- assertEquals(100, ms.size());
-
//Verify 100 refs in queue
assertEquals(100, queue.memoryRefCount());
@@ -1044,9 +962,6 @@
assertEquals(70, msgIds.size());
assertSameIds(msgIds, refs, 171, 240);
- //Verify 70 msgs in store
- assertEquals(70, ms.size());
-
//Verify 70 refs in queue
assertEquals(70, queue.memoryRefCount());
@@ -1076,9 +991,6 @@
msgIds = getMessageIds();
assertEquals(0, msgIds.size());
- //Verify 0 msgs in store
- assertEquals(0, ms.size());
-
//Verify 0 refs in queue
assertEquals(0, queue.memoryRefCount());
Modified: trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/core/paging/SingleChannel_ReloadTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -80,8 +80,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
-
- refs[i].releaseMemoryReference();
}
//Send 50 p messages
@@ -92,8 +90,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
-
- refs[i].releaseMemoryReference();
}
List refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
@@ -179,8 +175,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
-
- refs[i].releaseMemoryReference();
}
//Send 50 p messages
@@ -191,8 +185,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
-
- refs[i].releaseMemoryReference();
}
List refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
@@ -272,8 +264,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
-
- refs[i].releaseMemoryReference();
}
//Send 50 p messages
@@ -284,8 +274,6 @@
refs[i] = ms.reference(msgs[i]);
queue.handle(null, refs[i], null);
-
- refs[i].releaseMemoryReference();
}
List refIds = getReferenceIdsOrderedByPageOrd(queue.getChannelID());
Modified: trunk/tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -121,6 +121,8 @@
TextMessage tm = (TextMessage)durable.receive(1000);
assertEquals("k", tm.getText());
+ log.info("*** consuming");
+
Message m = durable.receive(1000);
assertNull(m);
Modified: trunk/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -109,19 +109,11 @@
//A few sanity checks
if (ServerManagement.isStarted(0))
- {
- if (!ServerManagement.isRemote())
- {
- SimpleMessageStore ms = (SimpleMessageStore)ServerManagement.getMessageStore();
-
- if (ms.messageIds().size() != 0)
- {
- ms.dump();
- fail("There are messages in the message store");
- }
+ {
+ if (checkNoMessageData())
+ {
+ fail("Message Data exists");
}
-
- checkNoMessageData();
}
//This will tell us if any connections have been left open
Modified: trunk/tests/src/org/jboss/test/messaging/jms/MessageCleanupTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/MessageCleanupTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/MessageCleanupTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -87,9 +87,7 @@
if (ServerManagement.isRemote()) return;
SimpleMessageStore ms = (SimpleMessageStore)ServerManagement.getMessageStore();
-
- assertEquals(0, ms.messageIds().size());
-
+
Connection conn = cf.createConnection();
Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -104,9 +102,7 @@
{
prod.send(sess.createMessage());
}
-
- assertEquals(100, ms.messageIds().size());
-
+
//50 Should be paged onto disk
assertEquals(50, getReferenceIds().size());
@@ -117,8 +113,6 @@
cons.close();
- assertEquals(0, ms.messageIds().size());
-
assertEquals(0, getReferenceIds().size());
assertEquals(0, getMessageIds().size());
@@ -151,8 +145,6 @@
SimpleMessageStore ms = (SimpleMessageStore)ServerManagement.getMessageStore();
- assertEquals(100, ms.messageIds().size());
-
assertEquals(100, getReferenceIds().size());
assertEquals(50, getMessageIds().size());
@@ -161,17 +153,13 @@
cons1.close();
cons2.close();
-
- assertEquals(100, ms.messageIds().size());
-
+
assertEquals(50, getReferenceIds().size());
assertEquals(50, getMessageIds().size());
sess.unsubscribe("sub1");
-
- assertEquals(0, ms.messageIds().size());
-
+
assertEquals(0, getReferenceIds().size());
assertEquals(0, getMessageIds().size());
@@ -215,8 +203,6 @@
SimpleMessageStore ms = (SimpleMessageStore)ServerManagement.getMessageStore();
- assertEquals(100, ms.messageIds().size());
-
assertEquals(50, getReferenceIds().size());
assertEquals(50, getMessageIds().size());
@@ -225,8 +211,6 @@
conn.close();
- assertEquals(0, ms.messageIds().size());
-
assertEquals(0, getReferenceIds().size());
assertEquals(0, getMessageIds().size());
@@ -269,9 +253,7 @@
}
SimpleMessageStore ms = (SimpleMessageStore)ServerManagement.getMessageStore();
-
- assertEquals(100, ms.messageIds().size());
-
+
assertEquals(100, getReferenceIds().size());
assertEquals(50, getMessageIds().size());
@@ -279,9 +261,7 @@
//Now we close the connection
conn.close();
-
- assertEquals(0, ms.messageIds().size());
-
+
assertEquals(0, getReferenceIds().size());
assertEquals(0, getMessageIds().size());
Deleted: trunk/tests/src/org/jboss/test/messaging/jms/ReferencingTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/ReferencingTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/ReferencingTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -1,394 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.messaging.jms;
-
-import javax.jms.Connection;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-import org.jboss.jms.message.MessageProxy;
-import org.jboss.messaging.core.contract.MessageReference;
-import org.jboss.messaging.core.contract.MessageStore;
-import org.jboss.messaging.core.impl.message.SimpleMessageReference;
-import org.jboss.test.messaging.tools.ServerManagement;
-
-/**
- *
- * A ReferencingTest.
- *
- * @author <a href="tim.fox at jboss.com">Tim Fox</a>
- * @version $Revision$
- *
- * $Id$
- */
-public class ReferencingTest extends JMSTestCase
-{
- // Constants -----------------------------------------------------
-
- // Static --------------------------------------------------------
-
- // Attributes ----------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- public ReferencingTest(String name)
- {
- super(name);
- }
-
- // Public --------------------------------------------------------
-
- public void testAutoAck1() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- conn.start();
-
- TextMessage m = sess.createTextMessage("wibble");
-
- prod.send(m);
-
- TextMessage m2 = (TextMessage)cons.receive();
-
- assertNotNull(m2);
- assertEquals(m.getText(), m2.getText());
-
- MessageReference ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertNull(ref);
-
- conn.close();
- }
-
- public void testAutoAck2() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- conn.start();
-
- TextMessage m = sess.createTextMessage("wibble");
-
- prod.send(m);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- TextMessage m2 = (TextMessage)cons.receive(1000);
-
-
- assertNotNull(m2);
-
- assertEquals(m.getText(), m2.getText());
-
- MessageReference ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertNull(ref);
-
- conn.close();
- }
-
- public void testClientAck1() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- conn.start();
-
- TextMessage m = sess.createTextMessage("wibble");
-
- prod.send(m);
-
- TextMessage m2 = (TextMessage)cons.receive(1000);
-
- assertNotNull(m2);
- assertEquals(m.getText(), m2.getText());
-
- MessageReference ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertEquals(((MessageProxy)m).getMessage().getMessageID(), ref.getMessage().getMessageID());
-
- ref.releaseMemoryReference();
-
- m2.acknowledge();
-
- ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertNull(ref);
-
- conn.close();
- }
-
- public void testClientAck2() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- conn.start();
-
- TextMessage m = sess.createTextMessage("wibble");
-
- prod.send(m);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- TextMessage m2 = (TextMessage)cons.receive(1000);
-
- assertNotNull(m2);
- assertEquals(m.getText(), m2.getText());
-
- MessageReference ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertEquals(((MessageProxy)m).getMessage().getMessageID(), ref.getMessage().getMessageID());
-
- ref.releaseMemoryReference();
-
- m2.acknowledge();
-
- ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertNull(ref);
-
- conn.close();
- }
-
- public void testRedelivery() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- conn.start();
-
- TextMessage m = sess.createTextMessage("wibble");
-
- prod.send(m);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- TextMessage m2 = (TextMessage)cons.receive(1000);
-
- assertNotNull(m2);
- assertEquals(m.getText(), m2.getText());
-
- MessageReference ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertEquals(((MessageProxy)m).getMessage().getMessageID(), ref.getMessage().getMessageID());
-
- ref.releaseMemoryReference();
-
- sess.recover();
-
- TextMessage m3 = (TextMessage)cons.receive();
-
- assertNotNull(m3);
- assertEquals(m.getText(), m3.getText());
-
- ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertEquals(((MessageProxy)m).getMessage().getMessageID(), ref.getMessage().getMessageID());
-
- ref.releaseMemoryReference();
-
- m2.acknowledge();
-
- ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertNull(ref);
-
- conn.close();
- }
-
- public void testTransactionCommit() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- conn.start();
-
- TextMessage m = sess.createTextMessage("wibble");
-
- prod.send(m);
- sess.commit();
-
- TextMessage m2 = (TextMessage)cons.receive(1000);
-
- assertNotNull(m2);
- assertEquals(m.getText(), m2.getText());
-
- SimpleMessageReference ref = (SimpleMessageReference)store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertEquals(2, ref.getInMemoryChannelCount());
-
- assertEquals(((MessageProxy)m).getMessage().getMessageID(), ref.getMessage().getMessageID());
-
- ref.releaseMemoryReference();
-
- sess.commit();
-
- ref = (SimpleMessageReference)store.reference(((MessageProxy)m2).getMessage().getMessageID());
- assertNull(ref);
-
- conn.close();
- }
-
- public void testTransactionRollback() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- conn.start();
-
- TextMessage m = sess.createTextMessage("wibble");
-
- prod.send(m);
- sess.commit();
-
- TextMessage m2 = (TextMessage)cons.receive(1000);
-
- assertNotNull(m2);
- assertEquals(m.getText(), m2.getText());
-
- MessageReference ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
- assertEquals(((MessageProxy)m).getMessage().getMessageID(), ref.getMessage().getMessageID());
-
- ref.releaseMemoryReference();
-
- sess.rollback();
-
- TextMessage m3 = (TextMessage)cons.receive();
-
- assertNotNull(m3);
- assertEquals(m.getText(), m3.getText());
-
- ref = store.reference(((MessageProxy)m3).getMessage().getMessageID());
- assertEquals(((MessageProxy)m).getMessage().getMessageID(), ref.getMessage().getMessageID());
-
- ref.releaseMemoryReference();
-
- sess.commit();
-
- ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
- assertNull(ref);
-
- conn.close();
- }
-
- public void cancelTest() throws Exception
- {
- MessageStore store = ServerManagement.getMessageStore();
-
- Connection conn = cf.createConnection();
-
- Session sess = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
-
- MessageProducer prod = sess.createProducer(queue1);
-
- MessageConsumer cons = sess.createConsumer(queue1);
-
- conn.start();
-
- TextMessage m1 = sess.createTextMessage("wibble");
- TextMessage m2 = sess.createTextMessage("wibble");
-
- prod.send(m1);
- prod.send(m2);
-
- TextMessage m3 = (TextMessage)cons.receive(1000);
-
- assertNotNull(m3);
- assertEquals(m1.getText(), m3.getText());
-
- TextMessage m4 = (TextMessage)cons.receive();
-
- assertNotNull(m4);
- assertEquals(m1.getText(), m4.getText());
-
- sess.recover();
-
- TextMessage m5 = (TextMessage)cons.receive();
-
- assertNotNull(m5);
- assertEquals(m1.getText(), m5.getText());
-
- TextMessage m6 = (TextMessage)cons.receive();
-
- assertNotNull(m6);
- assertEquals(m1.getText(), m6.getText());
-
- m6.acknowledge();
-
- MessageReference ref = store.reference(((MessageProxy)m2).getMessage().getMessageID());
-
- assertNull(ref);
-
- conn.close();
- }
-
-
-}
-
-
Modified: trunk/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -718,6 +718,8 @@
ServerManagement.startServerPeer();
+ log.info("Restarted the server");
+
deployAndLookupAdministeredObjects();
conn3 = cf.createXAConnection();
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-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -271,6 +271,8 @@
}
conn.close();
+
+ ServerManagement.invoke(destObjectName, "removeAllMessages", new Object[0], new String[0]);
}
finally
{
@@ -811,12 +813,14 @@
assertNotNull(html);
assertTrue(html.indexOf("QueueMessageCounter") != -1);
+
+ ServerManagement.invoke(destObjectName, "removeAllMessages", new Object[0], new String[0]);
ServerManagement.undeployQueue("QueueMessageCounter");
ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
- conn.close();
+ conn.close();
}
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-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/TopicManagementTest.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -484,9 +484,9 @@
TopicSession s = conn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
// Create 2 durable subscription and 2 non-durable subscription
- s.createDurableSubscriber(topic, "SubscriberA");
+ MessageConsumer cons1 = s.createDurableSubscriber(topic, "SubscriberA");
- s.createDurableSubscriber(topic, "SubscriberB", "wibble is null", false);
+ MessageConsumer cons2 = s.createDurableSubscriber(topic, "SubscriberB", "wibble is null", false);
s.createSubscriber(topic);
@@ -583,7 +583,18 @@
assertEquals(null, sub4.getSelector());
assertEquals(null, sub4.getName());
+ cons1.close();
+ cons2.close();
+
+ s.unsubscribe("SubscriberA");
+
+ s.unsubscribe("SubscriberB");
+
+ conn.close();
+
+ removeAllMessages("TopicSubscriptionList", false, 0);
+
}
finally
{
@@ -678,6 +689,8 @@
conn.close();
}
+ this.removeAllMessages("TopicSubscriptionList", false, 0);
+
ServerManagement.undeployTopic("TopicSubscriptionList");
}
}
@@ -863,6 +876,8 @@
conn.close();
}
+ this.removeAllMessages("TopicMessageList", false, 0);
+
ServerManagement.undeployTopic("TopicMessageList");
}
Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java 2007-08-21 04:19:48 UTC (rev 3019)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java 2007-08-21 15:46:38 UTC (rev 3020)
@@ -450,7 +450,7 @@
conn.close();
- // destroy it
+ // destroy it
Boolean b = (Boolean)ServerManagement.invoke(serverPeerObjectName, destroyMethod,
new Object[] { destinationName },
@@ -469,7 +469,6 @@
}
//Make sure no bindings exist
- //ServerManagement.gets
Set set = ServerManagement.query(destObjectName);
assertTrue(set.isEmpty());
More information about the jboss-cvs-commits
mailing list