2 Replies Latest reply on Sep 25, 2017 4:18 PM by rs0048203

    Q4 2016 CU3 - new JSP runtime error with Custom B2

    rs0048203

      Hoping to get some ideas about the cause.

      The Custom B2 had no issue running on Q4 2015.

      Wondering if could be due to move from tomcat 7 to tomcat 8 ?

      Think this is more likely due to a change in Blackboard API (still researching).

      See the following in tomcat stdout log:

       

      INFO   | jvm 1    | 2017/08/15 11:13:11 | Aug 15, 2017 11:13:11 AM org.apache.catalina.core.ApplicationDispatcher invoke
      INFO   | jvm 1    | 2017/08/15 11:13:11 | SEVERE: Servlet.service() for servlet jsp threw exception
      INFO   | jvm 1    | 2017/08/15 11:13:11 | java.sql.SQLException: Connection connection is closed is closed.
      INFO   | jvm 1    | 2017/08/15 11:13:11 |       at org.apache.commons.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:605)
      INFO   | jvm 1    | 2017/08/15 11:13:11 |       at org.apache.commons.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:382)
      INFO   | jvm 1    | 2017/08/15 11:13:11 |       at blackboard.db.ConnectionManager.isInTransaction(ConnectionManager.java:947)

      ...

      INFO   | jvm 1    | 2017/08/15 11:13:11 | Aug 15, 2017 11:13:11 AM org.apache.catalina.core.StandardWrapperValve invoke
      INFO   | jvm 1    | 2017/08/15 11:13:11 | SEVERE: Servlet.service() for servlet [learnDashboard] in context with path [/webapps/unm-dashboard-BBLEARN] threw exception [javax.servlet.jsp.JspException: Can't get branding by host name and user] with root cause
      INFO   | jvm 1    | 2017/08/15 11:13:11 | java.sql.SQLException: Connection connection is closed is closed.
      INFO   | jvm 1    | 2017/08/15 11:13:11 |       at org.apache.commons.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:605)
      INFO   | jvm 1    | 2017/08/15 11:13:11 |       at org.apache.commons.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:382)
      INFO   | jvm 1    | 2017/08/15 11:13:11 |       at blackboard.db.ConnectionManager.isInTransaction(ConnectionManager.java:947)

        • Re: Q4 2016 CU3 - new JSP runtime error with Custom B2
          rs0048203

          More information:
           
            Stack Trace has:
           
            INFO   | jvm 1    | 2017/08/16 13:19:40 |       at org.apache.jsp.WEB_002dINF.jsp.users_jsp._jspService(users_jsp.java:147)
           
           
            and generated Java code (from JSP) has:
           
             blackboard.servlet.tags.ngui.GenericPageTag _jspx_th_bbNG_005fgenericPage_005f0 = (new blackboard.servlet.tags.ngui.GenericPageTag());
                _jsp_getInstanceManager().newInstance(_jspx_th_bbNG_005fgenericPage_005f0);
                  _jspx_th_bbNG_005fgenericPage_005f0.setPageContext(_jspx_page_context);
                  _jspx_th_bbNG_005fgenericPage_005f0.setParent(null);
                  // /WEB-INF/jsp/users.jsp(20,0) name = ctxId type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
                  _jspx_th_bbNG_005fgenericPage_005f0.setCtxId("ctx");
                  // /WEB-INF/jsp/users.jsp(20,0) name = title type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
                  _jspx_th_bbNG_005fgenericPage_005f0.setTitle("Learn Usage Information");
                  // /WEB-INF/jsp/users.jsp(20,0) name = authentication type = null reqTime = true required = false fragment = false deferredValue = false expectedTypeName = null deferredMethod = false methodSignature = null
                  _jspx_th_bbNG_005fgenericPage_005f0.setAuthentication("N");
                  int _jspx_eval_bbNG_005fgenericPage_005f0 = _jspx_th_bbNG_005fgenericPage_005f0.doStartTag();  // line 147

          • Re: Q4 2016 CU3 - new JSP runtime error with Custom B2
            rs0048203

            Resolved this issue by changing con.close(); to ConnectionManager.releaseDefaultConnection(con);