You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Lee Schumacher <le...@gmail.com> on 2006/11/27 21:58:09 UTC

intermittent Runtime exception

I'm seeing an exception page that only happens if i hit reload multiple
times in succession very quickly - the page looks fine otherwise.  I'm
running tapestry 4.0.1 on solaris, jdk 1.5.0_06.  Any ideas?


org.apache.hivemind.ApplicationRuntimeException
Could not find a strategy instance for class monitor.hub.data.BlockedUriRule
.
java.lang.IllegalArgumentException
Could not find a strategy instance for class monitor.hub.data.BlockedUriRule
.

Stack Trace:

* org.apache.hivemind.lib.util.StrategyRegistryImpl.searchForAdaptor(
StrategyRegistryImpl.java:176)
* org.apache.hivemind.lib.util.StrategyRegistryImpl.getStrategy(
StrategyRegistryImpl.java:74)
* org.apache.tapestry.util.io.DataSqueezerImpl.squeeze(DataSqueezerImpl.java
:125)
* $DataSqueezer_10ef24cbf8d.squeeze($DataSqueezer_10ef24cbf8d.java)
* org.apache.tapestry.components.ForBean.getStringRepFromValue<http://org.apache.tapestry.components.forbean.getstringrepfromvalue/>
(ForBean.java:397)
* org.apache.tapestry.components.ForBean<http://org.apache.tapestry.components.forbean/>
$StoreSourceDataIterator.next(ForBean.java:365)
* org.apache.tapestry.components.ForBean.renderComponent<http://org.apache.tapestry.components.forbean.rendercomponent/>
(ForBean.java:125)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
:434)
* org.apache.tapestry.form.FormSupportImpl.render(FormSupportImpl.java:494)
* org.apache.tapestry.form.Form.renderComponent(Form.java:250)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
:434)
* org.apache.tapestry.html.Body.renderComponent(Body.java:129)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
:434)
* org.apache.tapestry.html.Shell.renderComponent(Shell.java:115)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:275)
* org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366)
* org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(
ResponseRendererImpl.java:71)
*
$ResponseRenderer_10ef24cbfad.renderResponse($ResponseRenderer_10ef24cbfad.java)
* org.apache.tapestry.engine.PageService.service(PageService.java:68)
* $IEngineService_10ef24cc019.service($IEngineService_10ef24cc019.java)
* org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
EngineServiceOuterProxy.java:66)
* org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
* org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
InvokeEngineTerminator.java:60)
*
$WebRequestServicer_10ef24cbff5.service($WebRequestServicer_10ef24cbff5.java)
* $WebRequestServicer_10ef2

RE: intermittent Runtime exception

Posted by Denis Souza <de...@camerum.com.br>.
The exception really doesn't tell me much, but from what you said, it might
be some problem related to concurrent execution. I had something similar
happen. The page the user was loading generated multiple requests to the
same application through the same session. Because of the way it was
implemented, it just couldn't handle the multiple simultaneous requests.
So I implemented a WebRequestServiceFilter that makes sure requests coming
from the same user are executed sequentially. Something like this:

public void service(WebRequest request, WebResponse response,
WebRequestServicer servicer) throws IOException {
 if (request.getSession(true).getAttribute("synchronizeObject") == null) {
  request.getSession(true).setAttribute("synchronizeObject", new Object());
 }
 synchronized (request.getSession(true).getAttribute("synchronizeObject")) {
  servicer.service(request, response);
 }
}

I don't know if it would solve it for you, but you could try it.

Denis Souza

-----Original Message-----
From: Lee Schumacher [mailto:lee.schumacher@gmail.com] 
Sent: segunda-feira, 27 de novembro de 2006 18:58
To: users@tapestry.apache.org
Subject: intermittent Runtime exception

I'm seeing an exception page that only happens if i hit reload multiple
times in succession very quickly - the page looks fine otherwise.  I'm
running tapestry 4.0.1 on solaris, jdk 1.5.0_06.  Any ideas?


org.apache.hivemind.ApplicationRuntimeException
Could not find a strategy instance for class monitor.hub.data.BlockedUriRule
.
java.lang.IllegalArgumentException
Could not find a strategy instance for class monitor.hub.data.BlockedUriRule
.

Stack Trace:

* org.apache.hivemind.lib.util.StrategyRegistryImpl.searchForAdaptor(
StrategyRegistryImpl.java:176)
* org.apache.hivemind.lib.util.StrategyRegistryImpl.getStrategy(
StrategyRegistryImpl.java:74)
* org.apache.tapestry.util.io.DataSqueezerImpl.squeeze(DataSqueezerImpl.java
:125)
* $DataSqueezer_10ef24cbf8d.squeeze($DataSqueezer_10ef24cbf8d.java)
*
org.apache.tapestry.components.ForBean.getStringRepFromValue<http://org.apac
he.tapestry.components.forbean.getstringrepfromvalue/>
(ForBean.java:397)
*
org.apache.tapestry.components.ForBean<http://org.apache.tapestry.components
.forbean/>
$StoreSourceDataIterator.next(ForBean.java:365)
*
org.apache.tapestry.components.ForBean.renderComponent<http://org.apache.tap
estry.components.forbean.rendercomponent/>
(ForBean.java:125)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
:434)
* org.apache.tapestry.form.FormSupportImpl.render(FormSupportImpl.java:494)
* org.apache.tapestry.form.Form.renderComponent(Form.java:250)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
:434)
* org.apache.tapestry.html.Body.renderComponent(Body.java:129)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java
:434)
* org.apache.tapestry.html.Shell.renderComponent(Shell.java:115)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
* org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
* org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:275)
* org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366)
* org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(
ResponseRendererImpl.java:71)
*
$ResponseRenderer_10ef24cbfad.renderResponse($ResponseRenderer_10ef24cbfad.j
ava)
* org.apache.tapestry.engine.PageService.service(PageService.java:68)
* $IEngineService_10ef24cc019.service($IEngineService_10ef24cc019.java)
* org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
EngineServiceOuterProxy.java:66)
* org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
* org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
InvokeEngineTerminator.java:60)
*
$WebRequestServicer_10ef24cbff5.service($WebRequestServicer_10ef24cbff5.java
)
* $WebRequestServicer_10ef2


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org