I defined an action-listener in my faces-config.xml. Sometimes it is being called, and sometimes it isn't. When it isn't called, i get an exception thrown to the browser (in development). I have tried putting in println's and it's definite that the first line of the processAction isn't being called. I'm using myfaces, tomahawk and trinidad. The tag that fails is:
< tr:navigationPane hint = "tabs" > < tr:commandNavigationItem text = "PABTS" selected ="#{tabNavigationBean.pabts}" rendered ="#{navigationBean.beamControl}" actionListener ="#{exRABean.beamControlPabtsAction}" ></ tr:commandNavigationItem >
Other tags like this work fine. Note that beamControlPabtsAction(ActionEvent) is being called. It's just the wrapper that isn't being called. The wrapper contains a try catch onEvaluationException to try to catch the DatabaseException. I am using toplink essentials, JPA on the page, and toplink for the first page. I am using Spring 2.0.7.
John
Here's a sample of an exception that is thrown. I realize that this is an obvious error that the table
doesn't exist. Perhaps I am trying to handle the error gracefully when I shouldn't be.
500 Internal Server Error
javax.faces.el.EvaluationException: Exception while
invoking _expression_ #{exRABean.beamControlPabtsAction}
at
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:156)
at
org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1187)
at
org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:147)
at
org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:145)
at
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
at
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
at
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:253)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:210)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:164)
at
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at
oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at
oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at
oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at
oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at
com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at
java.lang.Thread.run(Thread.java:619)
Caused by: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0
(Build b41-beta2 (03/30/2007))):
oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00942: table or view does
not existError Code: 942 Call: SELECT LOCATION, ES_FLAG, EXP_SHOT_ID, PABTS_KH2_FWD_SPLIT_FRACTION, CHANGE_SHOT_ID, PABTS_KH3_FWD_SPLIT_FRACTION, PABTS_KH4_FWD_SPLIT_FRACTION FROM LPOM_PABTS_ENERGETICS_PLAN WHERE (EXP_SHOT_ID = ?)bind => [ICCS_71_Integration_S01a] Query: ReportQuery(gov.llnl.nif.dataviz.vssar.model.LpomPabtsEnergeticsPlan) at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:304) at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:551) at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:437) at oracle.toplink.essentials.threetier.ServerSession.executeCall(ServerSession.java:465) at oracle.toplink.essentials.internal.sessions.IsolatedClientSession.executeCall(IsolatedClientSession.java:137) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:213) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:199) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:270) at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:600) at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2240) at oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2206) at oracle.toplink.essentials.queryframework.ReportQuery.executeDatabaseQuery(ReportQuery.java:774) at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:609) at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:677) at oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:731) at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2219) at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:937) at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:909) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:346) at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.getResultList(EJBQueryImpl.java:453) at org.springframework.orm.jpa.JpaTemplate$12.doInJpa(JpaTemplate.java:357) at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:185) at org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:152) at org.springframework.orm.jpa.JpaTemplate.findByNamedQueryAndNamedParams(JpaTemplate.java:348) at gov.llnl.nif.dataviz.vssar.dao.jpa.ExperimentDaoJpa.getExpDataMap(ExperimentDaoJpa.java:37) at gov.llnl.nif.dataviz.vssar.service.impl.SummaryReportManagerImpl2.getLpomPabtsEnergeticsPlanMap(SummaryReportManagerImpl2.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy20.getLpomPabtsEnergeticsPlanMap(Unknown Source) at gov.llnl.nif.dataviz.vssar.web.ExRABean.buildPabtsDisplayBeans(ExRABean.java:914) at gov.llnl.nif.dataviz.vssar.web.ExRABean.beamControlPabtsAction(ExRABean.java:295) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132) ... 29 more Caused by: java.sql.SQLException: ORA-00942: table or view does not exist at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185) at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503) at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029) at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043) at oracle_jdbc_driver_T4CPreparedStatement_Proxy.executeQuery() at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:711) at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:486) ... 71 more

