the resource has just one Variant:

getVariants().add(new Variant(MediaType.APPLICATION_XML));


thanks, 
Rubén Hernando



Thierry Boileau <thierry.boil...@noelios.com> 
22/02/2010 17:25
Por favor, responda a
discuss <discuss@restlet.tigris.org>


Para
discuss@restlet.tigris.org
cc

Asunto
Re: ConcurrentModificationException from Resource






Hello Ruben,

could you tell us how you define the resource's list of variants?

Best regards,
Thierry Boileau

Hi,
We tried with different versions of restlet (1.1-M1, 1.2-M1, 1.1.8) and we 
are having the same problem.
we have a Resource. it make some access to a database.
when it has severall calls at same time, one or more of them fails and 
throw an exception. We think it happens before entering into the Resource 
class, so we think it can be a bug.
Here is the Stack trace

 GRAVE: Unhandled exception or error intercepted
java.util.ConcurrentModificationException
                 at 
java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
                 at java.util.AbstractList$Itr.next(AbstractList.java:343)
                 at 
com.noelios.restlet.Engine.getPreferredVariant(Engine.java:704)
                 at 
org.restlet.data.ClientInfo.getPreferredVariant(ClientInfo.java:463)
                 at 
org.restlet.resource.Resource.getPreferredVariant(Resource.java:270)
                 at 
org.restlet.resource.Resource.handleGet(Resource.java:439)
                 at org.restlet.Finder.handle(Finder.java:353)
                 at org.restlet.Filter.doHandle(Filter.java:150)
                 at org.restlet.Filter.handle(Filter.java:195)
                 at org.restlet.Router.handle(Router.java:504)
                 at org.restlet.Filter.doHandle(Filter.java:150)
                 at org.restlet.Filter.handle(Filter.java:195)
                 at org.restlet.Router.handle(Router.java:504)
                 at org.restlet.Filter.doHandle(Filter.java:150)
                 at org.restlet.Filter.handle(Filter.java:195)
                 at org.restlet.Router.handle(Router.java:504)
                 at org.restlet.Filter.doHandle(Filter.java:150)
                 at 
com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130)
                 at org.restlet.Filter.handle(Filter.java:195)
                 at org.restlet.Filter.doHandle(Filter.java:150)
                 at org.restlet.Filter.handle(Filter.java:195)
                 at 
com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124)
                 at org.restlet.Component.handle(Component.java:673)
                 at org.restlet.Server.handle(Server.java:331)
                 at 
com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68)
                 at 
com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147)
                 at 
com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881)
                 at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
                 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
                 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
                 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
                 at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                 at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
                 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
                 at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
                 at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                 at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
                 at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
                 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                 at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                 at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
                 at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
                 at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
                 at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
                 at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
                 at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
                 at java.lang.Thread.run(Thread.java:619)


Regards
R.Hernando

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2449449

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2451391

Reply via email to