Hi,

I've a strange problem that appears only if my Jetty server was idle
for some time. I get the following exception from one of my library
calls. Can anyone help me out here since I am having a hard time to
debug this (cannot reproduce so easily due to the idle nature of the
problem).

The component is located in a tapestry library and it uses invoke to call a
database fetching method in the page's visit object. It works perfect on
start and during the run of the server but fails after the test server
was idle for a long time.

Thnx,
Andreas Pardeike


ENVIRONMENT
------------------------------------------------------------------------ ------
Tapestry 3.0.2
Jetty-5.1.5rc2


SOURCE
------------------------------------------------------------------------ ------
private static String snippetGetter = "getSnippetText";
private static Method snippetGetterMethod;

protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
{
  IPage page = cycle.getPage();
  Object visitObject = page.getVisit();
  if(visitObject == null)
  {
    System.out.println("No visit object so far. Restarting page.");
    throw new PageRedirectException(page);
  }

  Class visitClass = visitObject.getClass();
  try
  {
    Class[] parameterTypes = new Class[] {String.class, Locale.class};
Object[] arguments = new Object[] {getSnippetID(), getSnippetLocale()};
    if(snippetGetterMethod == null)
snippetGetterMethod = visitClass.getMethod(snippetGetter, parameterTypes); >>> String txt = (String)snippetGetterMethod.invoke(visitObject, arguments);


STACK TRACE
------------------------------------------------------------------------ ------
Component exception : null
sun.reflect.GeneratedMethodAccessor211.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
se.pardeike.tapestry.Extras.DBTextSnippet.DBTextSnippet.renderComponent( DBTextSnippet.java:43)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.AbstractComponent.renderBody (AbstractComponent.java:624)
org.apache.tapestry.components.Any.renderComponent(Any.java:53)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.AbstractComponent.renderBody (AbstractComponent.java:624) org.apache.tapestry.components.Conditional.renderComponent (Conditional.java:56)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java: 118)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.AbstractComponent.renderBody (AbstractComponent.java:624) org.apache.tapestry.components.RenderBody.renderComponent (RenderBody.java:45)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.AbstractComponent.renderBody (AbstractComponent.java:624) org.apache.tapestry.components.Conditional.renderComponent (Conditional.java:56)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.AbstractComponent.renderBody (AbstractComponent.java:624)
org.apache.tapestry.html.Body.renderComponent(Body.java:269)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.AbstractComponent.renderBody (AbstractComponent.java:624)
org.apache.tapestry.html.Shell.renderComponent(Shell.java:124)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java: 118)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java: 118)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)
org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300)
org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java: 368) org.apache.tapestry.engine.AbstractEngine.renderResponse (AbstractEngine.java:749) org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException (AbstractEngine.java:1045) org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java: 899) org.apache.tapestry.ApplicationServlet.doService (ApplicationServlet.java:198) org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java: 159)
javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch (WebApplicationHandler.java:473)
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
org.mortbay.jetty.servlet.WebApplicationContext.handle (WebApplicationContext.java:635)
org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
org.mortbay.http.HttpServer.service(HttpServer.java:954)
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983)
org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
org.mortbay.http.SocketListener.handleConnection(SocketListener.java: 244)
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to