User: chirino
Date: 01/10/27 18:27:00
Modified: src/main/org/jboss/mq/pm/jdbc PersistenceManager.java
Log:
Commiting my initial implementation of a message cache for the JBossMQ messages.
This should allow the server to scale so it can hold a larger number of message.
Revision Changes Path
1.8 +10 -5 jbossmq/src/main/org/jboss/mq/pm/jdbc/PersistenceManager.java
Index: PersistenceManager.java
===================================================================
RCS file:
/cvsroot/jboss/jbossmq/src/main/org/jboss/mq/pm/jdbc/PersistenceManager.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- PersistenceManager.java 2001/09/04 15:06:51 1.7
+++ PersistenceManager.java 2001/10/28 01:27:00 1.8
@@ -31,6 +31,7 @@
import org.jboss.mq.pm.TxManager;
import org.jboss.mq.SpyMessage;
import org.jboss.mq.SpyJMSException;
+import org.jboss.mq.server.MessageReference;
import org.jboss.system.ServiceMBeanSupport;
@@ -40,7 +41,7 @@
*
* @author: Jayesh Parayali ([EMAIL PROTECTED])
*
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public class PersistenceManager extends ServiceMBeanSupport implements
PersistenceManagerMBean, org.jboss.mq.pm.PersistenceManager {
@@ -191,9 +192,10 @@
}
- public void add(org.jboss.mq.SpyMessage message, org.jboss.mq.pm.Tx txId) throws
javax.jms.JMSException {
+ public void add(MessageReference messageRef, org.jboss.mq.pm.Tx txId) throws
javax.jms.JMSException {
LogInfo logInfo;
-
+ SpyMessage message = messageRef.getMessage();
+
synchronized (messageLogs) {
logInfo= (LogInfo) messageLogs.get("" + message.getJMSDestination());
}
@@ -249,8 +251,9 @@
return txManager;
}
- public void remove(org.jboss.mq.SpyMessage message, org.jboss.mq.pm.Tx txId)
throws javax.jms.JMSException {
+ public void remove(MessageReference messageRef, org.jboss.mq.pm.Tx txId) throws
javax.jms.JMSException {
LogInfo logInfo;
+ SpyMessage message = messageRef.getMessage();
synchronized (messageLogs) {
logInfo= (LogInfo) messageLogs.get("" + message.getJMSDestination());
@@ -292,10 +295,12 @@
SpyMessage rebuild[]= logInfo.log.restore(committingTXs,
q.toString());
+ org.jboss.mq.server.MessageCache cache =
JMSServer.getInstance().getMessageCache();
//TODO: make sure this lock is good enough
synchronized (q) {
for (int i= 0; i < rebuild.length; i++) {
- q.restoreMessage(rebuild[i]);
+ MessageReference mr = cache.add(rebuild[i]);
+ q.restoreMessage(mr);
}
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development