Hi Marc, >So, my first question is whether Restlet supports the ability to write multi-threaded representation methods in a ServerResource? I think so. You may be aware that each incoming request is handled by a brand new instance of the ServerResource class.
>I ask, because I've tried it and it partially works, but I also see an >exception: Are you working on a Mac? If so, this is not an error message (see http://restlet.tigris.org/issues/show_bug.cgi?id=927). The current snapshot does not show this trace. Best regards, Thierry Boileau > I'm creating a web service, which aggregates data from multiple calls > to an external servers (these calls are done over RMI through a 3rd > party library). I'd lke to use a pool of threads from the Java > Concurrent library to make multiple requests at once. > > So, my first question is whether Restlet supports the ability to write > multi-threaded representation methods in a ServerResource? > > I ask, because I've tried it and it partially works, but I also see an > exception: > > Jan 13, 2010 11:26:47 AM org.restlet.engine.http.StreamServerCall complete > WARNING: Unable to shutdown server socket > java.net.SocketException: Socket is not connected > at sun.nio.ch.SocketChannelImpl.shutdown(Native Method) > at > sun.nio.ch.SocketChannelImpl.shutdownInput(SocketChannelImpl.java:640) > at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:360) > at > org.restlet.engine.http.StreamServerCall.complete(StreamServerCall.java:108) > at > org.restlet.engine.http.HttpServerAdapter.commit(HttpServerAdapter.java:478) > at > org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java:150) > at > org.restlet.engine.http.StreamServerHelper$ConnectionHandler.run(StreamServerHelper.java:89) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:637) > > I'm not sure what this exception is telling me. I'd appreciate it if > anyone could shed some light on the meaning of this exception. > > Marc > > ------------------------------------------------------ > http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2437120 > > ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2437267