Hi, I got a stackoverflow exception during instantiation of org.restlet.engine.Engine: (stacktrace from Restlet 2.0M6) ... org.restlet.engine.Engine.(Engine.java:325) org.restlet.engine.Engine.register(Engine.java:246) org.restlet.engine.Engine.register(Engine.java:235) org.restlet.engine.Engine.getInstance(Engine.java:148) org.restlet.engine.Engine.getLogger(Engine.java:203) org.restlet.Context.getCurrentLogger(Context.java:87) org.restlet.engine.Engine.registerHelper(Engine.java:659) -> in Catch block, calling Context.getCurrentLogger() org.restlet.engine.Engine.registerHelpers(Engine.java:688) org.restlet.engine.Engine.registerHelpers(Engine.java:730) org.restlet.engine.Engine.discoverConnectors(Engine.java:475) org.restlet.engine.Engine.(Engine.java:325) org.restlet.engine.Engine.register(Engine.java:246) org.restlet.engine.Engine.register(Engine.java:235) org.restlet.engine.Engine.getInstance(Engine.java:148) org.restlet.engine.Engine.getLogger(Engine.java:203) org.restlet.Context.getCurrentLogger(Context.java:87) org.restlet.engine.Engine.registerHelper(Engine.java:659) -> in Catch block, calling Context.getCurrentLogger() org.restlet.engine.Engine.registerHelpers(Engine.java:688) org.restlet.engine.Engine.registerHelpers(Engine.java:730) org.restlet.engine.Engine.discoverConnectors(Engine.java:475) ...
It turned out that I was missing some restlet ext jars and so the registerHelper() method failed. The problem is, that in the block that catches such exceptions, Context.getCurrentLogger() is called, which in turn resulted in the Engine constructor to be called again. In order to avert that, I'd propose introducing some kind of "safelog()" method in which the Engine constructor is not called. This method could be used in all places within the chain of methods called by the engine constructor. Cheers, Carsten ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2447429

