The default stacktrace is listed below.
Apparently, the error page won't load for the same reason original page
wasn't loaded: Spring (which I also use) wants a Connection even for a page
that does not require any database interaction. This question is also
bothering me, and although this is a Spring issue, perhaps someone of Wicket
people could answer me since there so much examples of integration of Wicket
and Spring.
unexpected exception when handling another exception: Can't instantiate page
using constructor public ru.vrgraphics.lianet.web.page.BaseErrorPage()
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor public ru.vrgraphics.lianet.web.page.BaseErrorPage()
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:58)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:262)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:231)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104)
at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1181)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:358)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:149)
... 33 more
Caused by: org.springframework.transaction.CannotCreateTransactionException:
Could not open JDBC Connection for transaction; nested exception is
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
failure
On Thu, May 15, 2008 at 1:25 PM, Johan Compagner <[EMAIL PROTECTED]>
wrote:
> do you have more stacktrace like Cause : xxxxx
>
> On Thu, May 15, 2008 at 11:22 AM, Sergey Podatelev <
> [EMAIL PROTECTED]> wrote:
>
> > Hello,
> >
> > I have a custom error page BaseErrorPage:
> >
> > public class BaseErrorPage extends WebPage {
> >
> > private final static long serialVersionUID = 1L;
> >
> > public BaseErrorPage() {
> > super();
> > }
> >
> > protected void configureResponse() {
> > String acceptHeader = getWebRequestCycle().getWebRequest().
> > getHttpServletRequest().getHeader("Accept");
> >
> > String contentType = ";charset=UTF-8";
> >
> > if (acceptHeader.contains("application/xhtml+xml")) {
> > contentType = "application/xhtml+xml" + contentType;
> > } else {
> > contentType = "text/html" + contentType;
> > }
> > getResponse().setContentType(contentType);
> > }
> > }
> >
> > It's configured to be displayed in case of a runtime exception:
> >
> > MyApplication.init():
> >
> > ...
> > getApplicationSettings().setInternalErrorPage(BaseErrorPage.class);
> >
> >
> getExceptionSettings().setUnexpectedExceptionDisplay(IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE);
> > ...
> >
> > I'm testing what happens if MySQL server goes down.
> > When it happens, first I got a SocketException which is caught and
> > BaseErrorPage is displayed.
> > But if I wait for a while (perhaps, until session expires?), I get just a
> > blank page in browser and in server log I see the following:
> >
> > unexpected exception when handling another exception: Can't instantiate
> > page
> > using constructor public com.mycorp.myapp.web.page.BaseErrorPage()
> > org.apache.wicket.WicketRuntimeException: Can't instantiate page using
> > constructor public com.mycorp.myapp.web.page.BaseErrorPage()
> > at
> >
> >
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168)
> > at
> >
> >
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:58)
> > at
> >
> >
> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:262)
> > at
> >
> >
> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283)
> > at
> >
> >
> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:231)
> > at
> >
> >
> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104)
> > at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1181)
> > ...
> >
> > Why does this happen and how can I prevent this?
> > I checked the DefaultPageFactory source and found that there's either an
> > Abort-, Initialization- or MarkupException, but I'm not sure how to deal
> > with any of those.
> >
> > --
> > sp
> >
>
--
sp