Hi all,
I'm using the version 1.01 of Restlet and I have a kind of distributed
deadlock problem. Let me explain it in pseudo-code:
I have a server A http://A:8181 that contains a resource
public class AResource {
public void handlePut() {
Request req = new Request (Method.PUT, "http://A:8282/aresource");
...
client.handle(req);
}
}
Then a server A2 http://A:8282 that contains a resource
public class AResource {
public void handlePut() {
Request req = new Request (Method.PUT, "http://A:8383/aresource");
...
client.handle(req);
}
}
and of course a server A3 http://A:8383 that contains a resource
public class AResource {
public void handlePut() {
Request req = new Request (Method.PUT, "http://A:8181/aresource");
...
client.handle(req);
}
}
A client make a put -through a web page - on server A1. The recursive
calls should terminate - the number of loops is counted until a bound
is reached. But when server A3 executes its handlePut() method, it is
blocked. I guess the handlePut() method of A1 is still waiting the
answer from A2. Is there a way to not wait for the answer ?
Any suggestion to bypass this problem is welcomed and sorry if it's a
trivial question,
thanks in advance,
hp