shuber 2004/08/20 19:08:02 CEST
Modified files:
core/src/java/org/jahia/services/cache
JMSHubPublisherHandler.java
Log:
Modified synchronization of message queue in the hope of removing interlock problem.
Probably we should also do something on the Cache class, as well as look at the JMS
code in global, looking at consumer/producer possible interlocks.
Revision Changes Path
1.5 +4 -3
jahia/core/src/java/org/jahia/services/cache/JMSHubPublisherHandler.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/JMSHubPublisherHandler.java.diff?r1=1.4&r2=1.5&f=h
Index: JMSHubPublisherHandler.java
===================================================================
RCS file:
/cvs/jahia/core/src/java/org/jahia/services/cache/JMSHubPublisherHandler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JMSHubPublisherHandler.java 28 Jul 2004 17:36:35 -0000 1.4
+++ JMSHubPublisherHandler.java 20 Aug 2004 17:08:02 -0000 1.5
@@ -169,9 +169,10 @@
try {
while (running) {
+ JMSCacheMessage[] messages = null;
synchronized (jmsMessageQueue) {
- JMSCacheMessage[] messages = jmsMessageQueue.
- extractMessages();
+ messages = jmsMessageQueue.extractMessages();
+ }
// the resulting message
MapMessage message = null;
@@ -184,7 +185,7 @@
} else if (messages.length > 1) {
computeMultipleMessages(messages, message);
}
- }
+
// wait until the next notification
synchronized (this) {