The Map 'exchangeTimeouts' is always growing.into the object org.ow2.petals.jbi.messaging.routing.module.PriorityOrdererModule. There is a issue into this code part:
boolean found = false;
synchronized (this.exchangePriority3) {
found = this.exchangePriority3.remove(exchangeDecorator);
}
if (!found) {
synchronized (this.exchangePriority2) {
found = this.exchangePriority2.remove(exchangeDecorator);
}
}
if (!found) {
synchronized (this.exchangePriority1) {
found = this.exchangePriority1.remove(exchangeDecorator);
}
}
if (!found) {
synchronized (this.exchangePriority0) {
found = this.exchangePriority0.remove(exchangeDecorator);
this.exchangeTimeouts.remove(exchangeDecorator);
}
The Map 'exchangeTimeouts' is always growing.into the object org.ow2.petals.jbi.messaging.routing.module.PriorityOrdererModule. There is a issue into this code part:
boolean found = false;
synchronized (this.exchangePriority3) {
found = this.exchangePriority3.remove(exchangeDecorator);
}
if (!found) {
synchronized (this.exchangePriority2) {
found = this.exchangePriority2.remove(exchangeDecorator);
}
}
if (!found) {
synchronized (this.exchangePriority1) {
found = this.exchangePriority1.remove(exchangeDecorator);
}
}
if (!found) {
synchronized (this.exchangePriority0) {
found = this.exchangePriority0.remove(exchangeDecorator);
this.exchangeTimeouts.remove(exchangeDecorator);
}
}
Roland Naudin added a comment - Thu, 5 Aug 2010 - 15:34:36 +0200 The problem comes from a stupid mistake.
The remove in the map is done with the wrong key value.
So the map is never cleaned.
The problem comes from a stupid mistake.
The remove in the map is done with the wrong key value.
So the map is never cleaned.