Exceptions swallowed in Phase Listeners

To frame this question.. we have implemented phase listeners at our company to perform "framework-type" tasks within all of our applications. These phase listeners perform critical tasks.
We just received a JSF fixpack from IBM and suddenly, all of the exceptions that occur in the phase listeners are eaten/ignored.
When we questioned what was going on, they pointed us to this part of the 1.2 JSF Spec:
Section 11.3. PhaseListener
The beforePhase() method is called before the standard processing for a particular phase is performed, while the afterPhase() method is called after the standard processing has been completed. The JSF implementation must guarantee that, if beforePhase() has been called on a particular instance, then afterPhase() will also be called, regardless of any Exceptions that may have been thrown during the actual execution of the lifecycle phase. For example, let�s say there are three PhaseListeners attached to the lifecycle: A, B, and C, in that order. A.beforePhase() is called, and executes successfully. B.beforePhase() is called and throws an exception. Any exceptions thrown during the beforePhase() listeners must be caught, logged, and swallowed. In this example, C.beforePhase() must not be called. hen the actual lifecycle phase executes. Any exceptions thrown during the execution of the actual phase must not be swallowed. When the lifecycle phase exits, due to an exeception or normal termination, he afterPhase() listeners must be called in reverse order from the beforePhase() listeners in the following manner. C.afterPhase() must not be called, since C.beforePhase() was not called. B.afterPhase() must not be called, since B.beforePhase() did not execute successfully. A.afterPhase() must be called. Any exceptions thrown during the afterPhase() liseteners must be caught, logged, and swallowed.
So now even if an exception occurs in the phase listsners, we never know about it and they Faces LIfecycle continues.
Can someone on the Spec team address this? We have critical code in our phase listeners, and if an exception occurs, the app shouldn't continue. Help!!

What I really am looking for from someone on the expert group is an explanation of this part of the spec, as well as how we as developers should deal with critical exceptions that occur in phase listeners.
Right now we have implemented Servlet container-level exception handling that catches the exceptions today, logs them and routes the user to an error page. With the 1.2 spec, the error will occur, but the app continues on as if nothing went wrong. What are the alternatives?
It boggles my mind that exceptions should ever be swallowed. If that's the case, then I think what the spec is saying is that you shouldn't put any code in the phase listeners since JSF will continue on regardless of what occurs.
Since no developers have replied to this, I assume that nobody else has code in phase listsners? Maybe I'm the only one who's alarmed by this?
Dave

Similar Messages

  • JSF Phase listeners

    What is a phase listener? Will every request goes through these phase listeners?

    With a PhaseListener you can hook on one or more phases of the JSF lifecycle. Useful if you want to do some handlings before or after a certain phase. Only a request which is been passed through the FacesServlet will go through the PhaseListener.
    You can see them like as a javax.servlet.Filter specific for JSF.

  • A Exception about :Tow -phase txns not allowed

    I meet the excepiton like below:
    java.rmi.ServerException: Could not obtain JDBC Connection from datasource: DataSource2; nested exception is:
         java.sql.SQLException: ITS-7004: Two-phase txns not allowed with JDBC
    java.sql.SQLException: ITS-7004: Two-phase txns not allowed with JDBC
    i don't konw what the problem result in.
    I use the Same connection for the JNDI name DataSource1 and DataSource2, is this a problem?
    but the DataSource1 connected very well.
    btw:who knows the word:txns 's meaning?

    "txns" means "transactions".
    "Two-phase transactions" is a database term that refers to reliable updating of more than one database at a time.

  • Eaten exceptions starting with JDeveloper 10.1.3.1

    In the thread Bug(?): Exceptions ignored in ControllerClass I described a bug in ADFPhaseListener that ate exceptions. Starting with 10.1.3.1, this bug remains and there is a new bug - exceptions are eaten in com.sun.faces.lifecycle.LifecycleImpl.phase() method as well. And it has even worse side effect - it prevents executing of subsequent phase listeners after the exception occurs, so the workaround defined in the other thread does not work. This even breaks JSF specification, which specifies, that container must ensure, that if beforePhase method is executed, corresponding afterPhase must be called.
    To catch all Throwables and just output it if tracing is enabled, is quite nasty, especially in frameworks... Bug remains in 10.1.3.2 (the jsf-impl.jar is identical).
    The only workaround is not to throw exceptions (ugh...). I have a base class for all ControllerClass-es, that catches Throwables and the handler forwards to errorpage and calls responseComplete():
    public class BasePagePhaseListener implements PagePhaseListener {
      public final void beforePhase(PagePhaseEvent event) {
        try {
          // internal method
          beforePhaseInt(event);
        } catch (RuntimeException e) {
          handleError(e);
        } catch (Error e) {
          handleError(e);
      /** Method to override in subclasses */
      public void beforePhaseInt(PagePhaseEvent event) { }
      // afterPhase similarly...
      private void handleError(Throwable e) {
        FacesContext fctx = FacesContext.getCurrentInstance();
        fctx.responseComplete();
        ExternalContext ec = fctx.getExternalContext();
        RequestDispatcher rd = ((HttpSession)ec.getSession(true)).getServletContext()
          .getRequestDispatcher("/errorpage.jsp");
        ServletRequest request = (ServletRequest)ec.getRequest();
        request.setAttribute("javax.servlet.jsp.jspException", e);
        try {
          rd.forward(request, (ServletResponse)ec.getResponse());
        } catch (Exception e2) {
          e2.printStackTrace();
    }I'm going to create a SR :(
    Viliam
    P.S.: never do catch (Throwable e) { }, if you really don't have to, please...

    hi Viliam Durina
    You are right about the issue in ADFPhaseListener and its different PhaseInvoker implementations.
    Some of its PhaseInvoker.after() method implementations have empty catch blocks while catching Exception (for this JDeveloper itself warns "Catch block for java.lang.Exception should rethrow or invoke handler.").
    See lines 329 and 414 in
    <jdevstudio10132>\adfc\src\adf-controllersrc.zip!\oracle\adf\controller\faces\lifecycle\ADFPhaseListener.java
    It looks like you have been dealing with this for a while? Has Oracle already explained this as intented behaviour or has a bug been logged?
    Could you please explain why this "even breaks JSF specification, which specifies, that container must ensure, that if beforePhase method is executed, corresponding afterPhase must be called."?
    The oracle.adf.controller.v2.lifecycle.PagePhaseListener is not part of that specification, is it?
    regards
    Jan Vervecken

  • Deploy Exception Error while Deploying DCs in NWDS 7.3

    Hi
    I have this following error while deploying the DCs into the AS Java.
    "Deployment Exception during deployment phase [DeploymentException], cause=[ASJ.dpl_dc.001085 Operation [deploy] of [demo.sap.com_dc] failed] "
    The DC which i created is a Dictionary DC Which contains Tables created from the entities in EJB DC.
    Thanks
    Teja

    Hi Ervin,
    Thanks for your help. The error I was getting is resolved. It was due to Higher version of NWDS (version including SP and PAT needs to be considered).
    On checking the stack throughly I came up with the error:
    "The given process model was built with a NWDS or development track of a higher version than the target runtime. Revision number of built process model: 4.4. Revision number of process runtime: 4.3. Please refer to SAP note 1600131 for details......"
    One thing learnt:- First thing you need to check is the exact version of SAP PO including the Service Pack and Patch Level.
    You can check this from:
    1. Directly through the URL::   http://<host>:<port>/sap/monitoring/SystemInfo
    2. From http://<server>:<port>/ -> System Information -> Component Information
    The NWDS should be either less than or equal to the version of SAP PO. You need to check all the details including Service Pack and Patch level.
    Ex- If the version of your PO is 7.30 SP 08 PAT 0000
    You cannot deploy SAP PO server with 7.30 SP 09 PAT 0000 nor 7.30 SP 08 PAT 0013.
    You can consider 7.30 SP 08 PAT 0000 or less than that.
    *** In our case, although the SAP PO and NWDS are of same version i.e 7.31. But the higher SP and PAT of the NWDS was giving the error.
    Regards,
    Atreyee

  • Exception while deploying a faces application in JBoss

    Hi All,
    I have made a sample faces application and deploying it in jboss-5.0.0.GA. I am getting the following exception while deploying :
    +11:22:55,897 ERROR [[jsfapplication]] Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener+
    com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! com.sun.faces.lifecycle.LifecycleFactoryImpl
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:213)
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:196)
    at org.jboss.web.jsf.integration.config.JBossJSFConfigureListener.contextInitialized(JBossJSFConfigureListener.java:75)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)
    at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:367)
    at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:146)
    at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:460)
    at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
    at org.jboss.web.deployers.WebModule.start(WebModule.java:96)
    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:585)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
    at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
    at $Proxy36.start(Unknown Source)
    at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
    at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
    at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
    at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
    at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
    at org.jboss.system.ServiceController.start(ServiceController.java:460)
    at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:146)
    at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:104)
    at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:45)
    at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:545)
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:304)
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
    at org.jboss.Main.boot(Main.java:209)
    at org.jboss.Main$1.run(Main.java:547)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ClassCastException: com.sun.faces.lifecycle.LifecycleFactoryImpl
    at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:93)
    at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
    at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:132)
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:203)
    +... 60 more+
    +11:22:56,069 ERROR [StandardContext] Error listenerStart+
    +11:22:56,069 ERROR [StandardContext] Context [jsfapplication] startup failed due to previous errors+
    +11:22:56,100 ERROR [AbstractKernelController] Error installing to Start: name=jboss.web.deployment:war=/jsfapplication state=Create mode=Manual requiredState=Installed+
    org.jboss.deployers.spi.DeploymentException: URL file:/D:/jboss-5.0.0.GA/server/default/tmp/deploy/jsfapplication14405-exp.war/ deployment failed
    Please do let me know the solution for it
    Thanks.

    r035198x wrote:
    You most likely have more than one version of JSF on your classpath.
    Check if you JBoss already has one and you are providing another.I have removed both the jars namely : jsf-api.jar and jsf-impl.jar from the lib folder of my .war file.
    The error was gone. But I have aother error which is nagging me now.
    +13:21:58,346 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception+
    java.util.MissingResourceException: Can't find bundle for base name message, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:836)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:805)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:699)
    at com.sun.faces.taglib.jsf_core.LoadBundleTag.doStartTag(LoadBundleTag.java:164)
    at org.apache.jsp.jsp.inputname_jsp._jspx_meth_f_005floadBundle_005f0(inputname_jsp.java:119)
    at org.apache.jsp.jsp.inputname_jsp._jspService(inputname_jsp.java:80)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:468)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
    at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:696)
    at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:667)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:57)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    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:235)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:595)
    +13:21:58,486 ERROR [lifecycle] JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /jsp/inputname.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@183890e]+
    +13:21:58,502 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception+
    java.util.MissingResourceException: Can't find bundle for base name message, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:836)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:805)
    To resolve this error I had introduced those 2 jars in the lib folder which I have removed now.
    Please do let me know the resolution for this error.
    Thanks

  • Failing over after WRITE_ERROR_TO_SERVER exception in sendRequest()

    Hi
    I am getting below error in my issproxy.log file. I wanted to see the source of this URL.cpp file to find out why it is failing. I am not able to open them using DLL decompiler as well.
    Could anyone tell me where can I get the source code for iisproxy.dll and iisforward.dll ?
    This request is failing only when the request is routed from IIS.
    ================New Request: [/GLMS/index.jsp.wlforward] =================
    Mon Nov 24 14:19:48 2014 <503614168189882> SSL must be used
    Mon Nov 24 14:19:48 2014 <503614168189882> Initializing SSL
    Mon Nov 24 14:19:48 2014 <503614168189881> INFO: Initializing SSL library
    Mon Nov 24 14:19:48 2014 <503614168189881> timer thread starting
    Mon Nov 24 14:19:48 2014 <503614168189881> Loaded 1 trusted CA's
    Mon Nov 24 14:19:48 2014 <503614168189881> sysMkdirs() on 'C:\windows\TEMP\_wl_proxy':
    Mon Nov 24 14:19:48 2014 <503614168189881> getWLFilePath: Complete File name = [C:\windows\TEMP\_wl_proxy\orbrandom.txt]
    Mon Nov 24 14:19:48 2014 <503614168189881> INFO: Successfully initialized SSL
    Mon Nov 24 14:19:48 2014 <503614168189882> SSL configured successfully
    Mon Nov 24 14:19:48 2014 <503614168189882> resolveRequest: wlforward: /TEST/index.jsp
    Mon Nov 24 14:19:48 2014 <503614168189882> URI is /GLMS/index.jsp, len=15
    Mon Nov 24 14:19:48 2014 <503614168189882> Request URI = [/TEST/index.jsp]
    Mon Nov 24 14:19:48 2014 <503614168189882> attempt #0 out of a max of 50
    Mon Nov 24 14:19:48 2014 <503614168189882> Trying a pooled connection for 'XX.XX.XX.XX/7002/7002'
    Mon Nov 24 14:19:48 2014 <503614168189882> getPooledConn: No more connections in the pool for Host[XX.XX.XX.XX] Port[7002] SecurePort[7002]
    Mon Nov 24 14:19:48 2014 <503614168189882> general list: trying connect to '192.168.17.180'/7002/7002 at line 1306 for '/GLMS/index.jsp'
    Mon Nov 24 14:19:48 2014 <503614168189882> New SSL URL: match = 0 oid = 22
    Mon Nov 24 14:19:48 2014 <503614168189882> Connect returns -1, and error no set to 10035, msg 'Unknown error'
    Mon Nov 24 14:19:48 2014 <503614168189882> EINPROGRESS in connect() - selecting
    Mon Nov 24 14:19:48 2014 <503614168189882> Setting peerID for new SSL connection
    Mon Nov 24 14:19:48 2014 <503614168189882> c0a8 11b4 5a1b 0000                          ....Z...
    Mon Nov 24 14:19:48 2014 <503614168189882> Local Port of the socket is 57397
    Mon Nov 24 14:19:48 2014 <503614168189882> Remote Host xx.xx.xx.xx Remote Port 7002
    Mon Nov 24 14:19:48 2014 <503614168189882> general list: created a new connection to 'XX.XX.XX.XX'/7002 for '/GLMS/index.jsp', Local port: 57397
    Mon Nov 24 14:19:48 2014 <503614168189882> WLS info in sendRequest:  XX.XX.XX.XX:7002 recycled? 0
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs from client:[Accept]=[application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs from client:[Accept-Encoding]=[gzip, deflate]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs from client:[Accept-Language]=[en-IN]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs from client:[Cookie]=[ADMINCONSOLESESSION=9fTkJypQ229r1ZHx6cQZG8cwHb0T0ssW8TkM7zyzzCVvNzjzDsf2!1779325670; JSESSIONID=GcZVJyXT8WMyv9pT8xGNzndSPCbBCcy1tfm5yRG1DSv8PhT97gv9!1779325670; _WL_AUTHCOOKIE_ADMINCONSOLESESSION=WcL9RbOJFiDqn3LiZO0g]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs from client:[Host]=[localhost]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs from client:[User-Agent]=[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)]
    Mon Nov 24 14:19:48 2014 <503614168189882> URL::sendHeaders(): meth='GET' file='/GLMS/index.jsp' protocol='HTTP/1.1'
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[Accept]=[application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[Accept-Encoding]=[gzip, deflate]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[Accept-Language]=[en-IN]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[Cookie]=[ADMINCONSOLESESSION=9fTkJypQ229r1ZHx6cQZG8cwHb0T0ssW8TkM7zyzzCVvNzjzDsf2!1779325670; JSESSIONID=GcZVJyXT8WMyv9pT8xGNzndSPCbBCcy1tfm5yRG1DSv8PhT97gv9!1779325670; _WL_AUTHCOOKIE_ADMINCONSOLESESSION=WcL9RbOJFiDqn3LiZO0g]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[Host]=[localhost]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[User-Agent]=[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[Connection]=[Keep-Alive]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[WL-Proxy-Client-IP]=[::1]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[Proxy-Client-IP]=[::1]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[X-Forwarded-For]=[::1]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[WL-Proxy-Client-Keysize]=[128]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[X-WebLogic-KeepAliveSecs]=[30]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[X-WebLogic-Force-JVMID]=[unset]
    Mon Nov 24 14:19:48 2014 <503614168189882> Hdrs to WLS:[WL-Proxy-SSL]=[true]
    Mon Nov 24 14:19:48 2014 <503614168189881> WARN: GetSessionCallback: No session match found
    Mon Nov 24 14:19:48 2014 <503614168189881> WARN: DeleteSessionCallback: No match found!!
    Mon Nov 24 14:19:48 2014 <503614168189882> ERROR: SSLWrite failed
    Mon Nov 24 14:19:48 2014 <503614168189882> SEND failed (ret=-1) at 805 of file ..\nsapi\.\URL.cpp
    Mon Nov 24 14:19:48 2014 <503614168189882> *******Exception type [WRITE_ERROR_TO_SERVER] raised at line 806 of ..\nsapi\.\URL.cpp
    Mon Nov 24 14:19:48 2014 <503614168189882> Marking xx.xx.xx.xx:7002 as bad
    Mon Nov 24 14:19:48 2014 <503614168189882> Exception occurred for backend host 'XX.XX.XX.XX/7002/0' while sending request : 'WRITE_ERROR_TO_SERVER [os error=0,  line 806 of ..\nsapi\.\URL.cpp]: '
    Mon Nov 24 14:19:48 2014 <503614168189882> got exception in sendRequest phase: WRITE_ERROR_TO_SERVER [os error=0,  line 806 of ..\nsapi\.\URL.cpp]:  at line 1019; last_error 0
    Mon Nov 24 14:19:48 2014 <503614168189882> INFO: Closing SSL context
    Mon Nov 24 14:19:48 2014 <503614168189882> Failing over after WRITE_ERROR_TO_SERVER exception in sendRequest()

    yes that is right.
    Essentially you should be doing one of the following on weblogic side:
    1) Installed Certs on weblogic that were obtained from a commercial CA. (like verisign, thawte etc)
    In this case, you will receive rootCA crt along with the other bundled certs and private key.
    these rootCA certs are publicly available (your browser will be already using them)
    2) Using certs signed by your company. (companies can maintain their own CA)
    In this case you should be having a rootCA cert from your company.
    3) using demo certs that were shipped with weblogic.
    In this case, the rootca cert can be obtained from DemoTrust.jks
    this is documented at http://e-docs.bea.com/wls/docs90/plugins/isapi.html#114851 (should be same for any plugins)
    Apache plug-in can understand .crt extension.
    -Vijay

  • Phase Listener in Subsystem deployed as BTF in Master - jdev 11.1.2.3

    Hello:
    We are using Subsystems with BTF's that are deployed as ADFLibs. These Subsystem ADFLibs are imported into a Master app and the BTF's are used as a region in the Master.
    I tried to create Phase Listener that displays System.out.println msgs in the Subsystem that was then used as a region in the Master app.
    But no messages from the Phase Listener appear on the console. What am I missing? Would the Phase Listeners have to be in the Master app?
    What if I wanted the Phase Listener of just the subsystem? Is this possible?
    Below is the code for adf-settings.xml and java class that implements PagePhaseListener:
    <?xml version="1.0" encoding="UTF-8" ?>
    <adf-config xmlns="http://xmlns.oracle.com/adf/config">
    <adfc-controller-config xmlns="http://xmlns.oracle.com/adf/controller/config">
    <lifecycle>
    <phase-listener>
    <listener-id>myListener</listener-id>
    <class>com.xxxx.labs.madison.ptnr.phase.listener.MyPagePhaseListener</class>
    </phase-listener>
    </lifecycle>
    </adfc-controller-config>
    </adf-config>
    package com.xxxx.labs.madison.ptnr.phase.listener;
    import javax.faces.application.FacesMessage;
    import javax.faces.context.FacesContext;
    import oracle.adf.controller.v2.lifecycle.Lifecycle;
    import oracle.adf.controller.v2.lifecycle.PagePhaseEvent;
    import oracle.adf.controller.v2.lifecycle.PagePhaseListener;
    public class MyPagePhaseListener implements PagePhaseListener {
    public MyPagePhaseListener() {
    super();
    public void afterPhase(PagePhaseEvent pagePhaseEvent) {
    System.out.println("inside afterPhase="+pagePhaseEvent.getPhaseId());
    System.out.println("getDebugValue="+pagePhaseEvent.getDebugValue());
    if (pagePhaseEvent.getPhaseId() == Lifecycle.PREPARE_RENDER_ID) {
    System.out.println("Lifecycle.PREPARE_RENDER_ID="+pagePhaseEvent.getDebugValue());
    FacesContext fctx = FacesContext.getCurrentInstance();
    String viewId = fctx.getViewRoot().getViewId();
    FacesMessage message = new FacesMessage("Hello Page no " + viewId);
    fctx.addMessage(null, message);
    public void beforePhase(PagePhaseEvent pagePhaseEvent) {
    System.out.println("inside beforePhase="+pagePhaseEvent.getPhaseId());
    System.out.println("getDebugValue="+pagePhaseEvent.getDebugValue());
    }

    First, ensure the phase listener is working in the subsystem app.
    Second, after the master app consumes the child app (as adflib), define the phase listener in the web.xml (within the masterapp).
    face-config and taskflow config files are combined but i dont think its the same case for web.xml.

  • Hi how to use phase listener in jsf

    hi
    i have a scenariao were the data have to fetched form database before the page gets loaded . so i came abt phase listeners . so can anybody give some example for phase listener.....
    thanks

    This is just basic Java knowledge, but anyway ..public class SomeClass {
        static {
            // static initialization block, this is executed only once per runtime, before the first instantiation.
            // Initialization block, this is executed before the constructor on every instantiation.
        public SomeClass() {
            // the constructor, this is executed on every instantiation.
    }

  • Slow performance during Apply Request Values Phase of JSF lifecycle

    Dear all,
    I found that my application is sucked at the Apply Request Values Phase of JSF lifecycle when I submit the page. (Totally spend 1 min to pass this phase)
    In the application, there is around 300 input fields in the page. Who know how can I ehance the performace?
    Thanks.

    Thanks a lot for your help. Maybe I explain more about my current structure
    I need to develop a input form for course instructor to input students' assignment / examination result (max 9 assignments and 1 examination).
    so that I have below coding:
    *1. bean to store marks of a student*
    public class Mark {
    private String studentID = "";
    private String mark1 = "";
    private String mark9 = "";
    private String markExam = "";
    //getter & setter of above properties
    public void setMark1(String mark1) {
    this.mark1 = mark1;
    public String getMark1() {
    return this.mark1;
    *2. backing bean*
    public class markHandler {
    ArrayList<Mark> marks = new ArrayList<Mark>();
    //getter & setter of above property
    //method to retrieve list of student (this will be the action before go in mark input page)
    public void getStudentList() {
    //get student list from database
    for(int i = 0 ; i < studentCount; i++){
    //initial mark of student
    Mark mark = new Mark();
    mark.setStudentID(studentID);
    mark.setMark1("");
    mark.setMarkExam("");
    //put into arraylist
    marks.add(mark);
    *3. mark input page*
    <html>
    <h:dataTable value="#{markHandler.marks}" var="e">
    <column>
    <h:output value="#{e.studentID}" />
    </column>
    <column>
    <h:input id="mark1" value="#{e.mark1}" />
    </column>
    <column>
    <h:input id="mark1" value="#{e.markExam}" />
    </column>
    </h:dataTable>
    <h:commandButton action="#{markHandler.save} />
    </html>
    When I submit the page, It seems that there is a long time spent at the input field of datatable at Apply Request Values Phase. (I use Phase Listeners to test the time difference before & after phase)
    Pls help. Thanks.
    Edited by: Daniel_problem on Aug 15, 2008 10:34 AM
    Edited by: Daniel_problem on Aug 15, 2008 10:36 AM

  • EJB calling Spring Bean with non XA Datasources causing Rollback Exception

    We have an EJB CMT with Required calling a spring bean (@Transactional Propagation.NOT_SUPPORTED). This is causing an Rollback Exception saying 2 phase commit must be enabled. The EJB has to write to datasource 1, but the Spring Bean is ready only on Data Source 2. The Data Sources are set to use Non XA Driver with Support Global Transaction enabled for One phase commit. Any help is appreciated.

    We have an EJB CMT with Required calling a spring bean (@Transactional Propagation.NOT_SUPPORTED). This is causing an Rollback Exception saying 2 phase commit must be enabled. The EJB has to write to datasource 1, but the Spring Bean is ready only on Data Source 2. The Data Sources are set to use Non XA Driver with Support Global Transaction enabled for One phase commit. Any help is appreciated.

  • Unknown Exception

    009-08-24 11:12:57,500 INFO [class com.waseel.waseele.presentation.approval.insertion.ApprovalInsertionBean] - <displayApprovalDetails ProvAppNo.= 190 with status code =Disapproved>
    Aug 24, 2009 11:13:10 AM com.sun.faces.lifecycle.Phase doPhase
    SEVERE: JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /web/jsp/ErrorPage/pageNotFound.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@19431de]
    Aug 24, 2009 11:13:10 AM org.apache.catalina.core.StandardHostValve custom
    SEVERE: Exception Processing ErrorPage[errorCode=404, location=/web/jsp/ErrorPage/pageNotFound.jsf]
    ClientAbortException:  java.net.SocketException: Software caused connection abort: socket write error
         at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
         at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
         at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:309)
         at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:288)
         at org.apache.catalina.connector.Response.flushBuffer(Response.java:542)
         at org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:279)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:224)
         at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
         at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
         at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:447)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
         at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:424)
         at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:343)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: java.net.SocketException: Software caused connection abort: socket write error
         at java.net.SocketOutputStream.socketWrite0(Native Method)
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:764)
         at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:124)
         at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:570)
         at org.apache.coyote.Response.doWrite(Response.java:560)
         at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
         ... 28 moreThis exception doesn't cause the application to crash but it appears in the log file.

    By the way, if it is always (or at least, in most of the cases) been thrown during displaying the 404 error page, then there's something wrong during rendering of the error page. It would then look like that the request thread is hanging or taking too much time for some reasons and that you then get this exception when the client navigated away.

  • Problem with JSF: strange exception !

    Hello friends :)
    i have a web application with JSF1.2 with the next libraries:
    - jsf-api-1.2_07.jar  (SUN-RI)
    - jsf-impl-1.2_07.jar (SUN-RI)
    - jsf-facelets-1.1.14.jar
    - tomahawk-1.1.6 (apache.myfaces)
    I have in my application a custom tag that was developed based on tomahawk-1.1.6 library. This tag displayes
    a form that is obtained by web services.
    So, when i run the application, i have a index.jsp that redirect to form.jspx (here is the tag) and i can see the form well and in this point it is right, the custom tag works ok. But when i push a bottom to refresh or save the form, and the request arrives to server, it response me with the following exception: (not reach the controller)
    *20/10/2009 11:58:13 [http-8080-Processor24] INFO fuentes.ListenerFase - Estamos en el método beforePhase RESTORE_VIEW 1*
    *20-oct-2009 11:58:13 com.sun.faces.renderkit.ResponseStateManagerImpl getTreeStructureToRestore*
    GRAVE: Not in GZIP format
    **java.io.IOException: Not in GZIP format**
         at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:132)
         at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:58)
         at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:68)
         at com.sun.faces.renderkit.ResponseStateManagerImpl.getTreeStructureToRestore
    (ResponseStateManagerImpl.java:172)
    *GRAVE: JSF1054: (Phase ID: RESTORE_VIEW 1, View ID: ) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@14510ac]*
    *20/10/2009 11:58:13 [http-8080-Processor24] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[pruebaLibreriasCliente].[Faces Servlet] - Servlet.service() para servlet Faces Servlet lanzó excepción*
    java.io.IOException: Not in GZIP format
         at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:132)
         at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:58)
         at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:68)
         at com.sun.faces.renderkit.ResponseStateManagerImpl.getTreeStructureToRestore
    (ResponseStateManagerImpl.java:172)
    I dont understand why this happening. It seems as if the server dont understand the format data request.
    I think the custom tag is ok and it is not the problem. Maybe the problem is configuration, but i dont know.
    Thank you so much for you help!

    This component or custom tag has worked well in others similar projects (somebody told me that).
    But, where does it define the component state? what do i need to define it?
    It is de custom tag:
    *<viaform:formulario clienteHandler="#{formularioPageBean.formularioHandler}"*
    *     action="#{formularioPageBean.actionFormularioEnd}"*
    *     actionListener="#{formularioPageBean.actionFormularioRefresh}" />*
    Thank you very much

  • P55-GD65 Wont start Phase 4 LED wont come on

    I just got a P55-GD65 and i got every thing on i have to say my PSU isint very good but i want to make sure that its a PSU problem before i go out bouying a 120$ PSU. The components are 2x2GB 2000MHZ OCZ memorys, an HD 4850 as video card and a i5 as the CPU, when i turn on it starts all the Phase LED's go on except for the Phase 4 LED, at first i tought it was a memory problem, i solved it puting both memorys in the black slot and it stoped beeping 3 times. but now it just turns on, all the leds go on except for the 4 phase led and after 4 seconds it goes off agian and goes back on and keeps doing the same thing over and over agian( going on and off on and off).... can someone help me ???!?  its not the video card i tested it in a friends pc, might be memory havent tested it  cuz i dont have another DDR3 supporting mobo.. PLZ HELP! im going crazy!! plz someone tell me its PSU!!!!
    PS i tryd it with a 450 wats Seventeam PSU

    Quote from: emer50n link=topic=132988.msg1000594#msg1000594 date=12595034a
    i did this procedure (clearing cmos and puting only 1 memo on 1 DIMM slot) now what happens is that every thing goes on i get no noises but nothing happens i get just a black screen and the video wont boot up(the pc wont turn off nowbut wont boot)... eny more ideas ?
    You have inserted ur RAM on the very first slot (The blue one) right?? ...... Insert that in the first black slot on left side, thats the 1DIMM slot..... If you wanna use ur 2nd ram as well, then insert that in the 2nd black slot.... I don't think its ur PSU.

  • JSF 1.2 + Facelets = ClassNotFoundException

    I have a pure Facelets application (no JSP) working just fine with JSF 1.1 on Tomcat 5.5.17. From what I understand, since I am not using any JSPs I should be able to just swap in JSF 1.2.
    However, when I switch to JSF 1.2 I get ClassNotFoundExceptions on startup for my phase listeners and custom renders. Essentially, I get a class not found exception for any class in my faces-config.xml file.
    Any thoughts? Anyone else have this issue?
    Caused by: java.lang.ClassNotFoundException: com.myapp.web.faces.event.PartialRendererPhaseListener
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
         at com.sun.faces.util.Util.loadClass(Util.java:406)
         at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:710)
         at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:398)
         at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:328)
    Thanks,
    Randy

    Actually, I am just a bit of an idiot. Turns out I had a compile error that eclipse wasn't showing so it should not be surprising that I get class not found exceptions. :-)
    Thanks.

Maybe you are looking for