User: norbert
Date: 00/05/31 17:12:12
Modified: src/java/org/spydermq JMSServerQueue.java
Log:
P2P system : fix for faulty clients
Revision Changes Path
1.4 +15 -8 spyderMQ/src/java/org/spydermq/JMSServerQueue.java
Index: JMSServerQueue.java
===================================================================
RCS file: /products/cvs/ejboss/spyderMQ/src/java/org/spydermq/JMSServerQueue.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JMSServerQueue.java 2000/06/01 00:04:40 1.3
+++ JMSServerQueue.java 2000/06/01 00:12:12 1.4
@@ -18,7 +18,7 @@
*
* @author Norbert Lataille ([EMAIL PROTECTED])
*
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class JMSServerQueue
{
@@ -264,33 +264,40 @@
while (true) {
- //Get a receiver
+ //At first, find a receiver
//NL: We could find a better receiver (load balancing
?)
Log.log("get a receiver");
- if (listeners==0) break;
+ if (listeners==0) break;
Iterator i=subscribers.values().iterator();
SpyDistributedConnection dc=null;
while (i.hasNext()) {
dc=(SpyDistributedConnection)i.next();
if (dc.listeners) break;
}
+
if (dc==null||!dc.listeners) {
- //listeners=0;
- Log.error("WARNING: The listeners count was
invalid !");
+ Log.error("FIXME: The listeners count was
invalid !");
break;
}
-
- //Get the message
+
+ //Get the message ( if there is one message pending )
SpyMessage mes=startWorkQueue();
if (mes==null) break;
if (mes.isOutdated()) continue;
-
+
//Send the message
try {
dc.cr.receive(destination,mes);
} catch (Exception e) {
+
+ try {
+ addMessage(mes);
+ } catch (Exception e2) {
+ Log.error(e2);
+ }
+
Log.error("Cannot deliver this message to the
client "+dc);
Log.error(e);
handleConnectionFailure(dc,null);
- [jBoss-Dev] CVS update: spyderMQ/src/java/org/spyder... jBoss CVS Development
- [jBoss-Dev] CVS update: spyderMQ/src/java/org/s... jBoss CVS Development
- [jBoss-Dev] CVS update: spyderMQ/src/java/org/s... jBoss CVS Development
- [jBoss-Dev] CVS update: spyderMQ/src/java/org/s... jBoss CVS Development
- [jBoss-Dev] CVS update: spyderMQ/src/java/org/s... jBoss CVS Development
