Changeset 7609


Ignore:
Timestamp:
Feb 27, 2019, 1:42:03 PM (5 years ago)
Author:
Nicklas Nordborg
Message:

References #2151: Pre-compile all JSP pages before releases

Updated documentation with changes related to source code incompatibilities.

Location:
trunk/doc/src/docbook
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/src/docbook/admin/installation.xml

    r7598 r7609  
    4747
    4848    <important id="installation.upgrade.important">
    49       <title>Important information for upgrading to BASE 3.14</title>
     49      <title>Important information for upgrading to BASE 3.15</title>
    5050      <para>
    5151        This section list some important information that may or may not
     
    6262        by the upgrade script. The recommendation is to replace this feature with
    6363        an external files solution instead.
     64      </para>
     65     
     66      <bridgehead>Customizations made in the global web.xml file</bridgehead>
     67      <para>
     68        In the configuration directory for Tomcat there is a <filename>web.xml</filename>
     69        file that define global options for all web applications. The settings in this file
     70        can be overridden per web application in the <filename>WEB-INF/classes/web.xml</filename>.
     71        BASE 3.15 re-defines the <code>jsp</code> <sgmltag class="starttag">servlet</sgmltag>
     72        definition to make sure that JSP files are compiled with proper settings. Changes that
     73        have been made to the global <filename>web.xml</filename> file for the <code>jsp</code>
     74        <sgmltag class="starttag">servlet</sgmltag> must be moved or copied to the
     75        <filename>web.xml</filename> file for the BASE web application.
    6476      </para>
    6577     
     
    621633            <listitem>
    622634              <para>
    623                 Disable strict parsing of JSP files.
    624                 <code>-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false</code>
    625               </para>
    626             </listitem>
    627             <listitem>
    628               <para>
    629635                Unless you have manually downloaded and installed JAI (Java Advanced
    630636                Imaging) native acceleration libraries (see <ulink
     
    649655            class="directory">bin</filename>):
    650656<programlisting>CATALINA_OPTS="-Xmx1G
    651 -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
    652657-Dcom.sun.media.jai.disableMediaLib=true
    653658-Djava.awt.headless=true"</programlisting>
  • trunk/doc/src/docbook/appendix/incompatible.xml

    r7598 r7609  
    4646      <code>SECONDARY</code> has been removed.   
    4747    </para>
     48   
     49    <bridgehead id="appendix.incompatible.generics">Introduced generic return parameters</bridgehead>
     50    <para>
     51      Some API methods with a return type of <classname>Object</classname> have been
     52      changed to <code>&lt;T&gt; T</code> (for example <code>public &lt;T&gt; T getObject(String name)</code> in
     53      <classname>ItemContext</classname>)
     54      which means that no explicit cast is needed since the compiler can typically infer this from the
     55      assignment made by the calling code. Note that this change is binary compatible with existing
     56      code, but in some cases it may be source code incompatible. Thus, already compiled code
     57      should continue to work, but source code may have to modified if compiling against the
     58      BASE 3.15 API. Here are some examples:
     59    </para>
     60   
     61    <programlisting language="java">
     62<![CDATA[
     63// With BASE 3.14 (also works with BASE 3.15)
     64ItemContext cc = ...
     65Hardware hardware = (Hardware)cc.getObject("item");
     66
     67// With BASE 3.15
     68Hardware hardware = cc.getObject("item");
     69
     70// This will not compile against BASE 3.15!
     71Set<AnnotatedItem> items = (Set<AnnotatedItem>)cc.getObject("AnnotatedItems");
     72
     73// The explict cast must be removed
     74Set<AnnotatedItem> items = cc.getObject("AnnotatedItems");
     75]]>
     76</programlisting>
     77   
     78    <para>
     79      Besides the change in the <methodname>ItemContext.getObject()</methodname> method there
     80      are several similar changes in the <classname docapi="net.sf.basedb.core">ItemContext</classname>
     81      class as well as in <classname docapi="net.sf.basedb.core">SessionControl</classname>,
     82      <classname docapi="net.sf.basedb.clients.web.formatter">FormatterFactory</classname>,
     83      <classname docapi="net.sf.basedb.core">ParameterValues</classname> and several other
     84      classes. In all cases, it should be relatively simple to update the code that doesn't compile.
     85    </para>
     86   
     87    <note>
     88      <title>Beware of JSP files</title>
     89      <para>
     90        Since this change doesn't affect already compiled code, extensions and plug-ins are
     91        typically not affected. The exception is of course JSP files that are part of an
     92        extension since they are compiled at runtime by Tomcat. It may be wise to test this
     93        before upgrading a live BASE installation to BASE 3.15.
     94      </para>
     95    </note>
    4896  </sect1>
    4997 
  • trunk/doc/src/docbook/appendix/update_warnings.xml

    r7598 r7609  
    4747    </para>
    4848 
     49    <bridgehead>Customizations made in the global web.xml file</bridgehead>
     50    <para>
     51      In the configuration directory for Tomcat there is a <filename>web.xml</filename>
     52      file that define global options for all web applications. The settings in this file
     53      can be overridden per web application in the <filename>WEB-INF/classes/web.xml</filename>.
     54      BASE 3.15 re-defines the <code>jsp</code> <sgmltag class="starttag">servlet</sgmltag>
     55      definition to make sure that JSP files are compiled with proper settings. Changes that
     56      have been made to the global <filename>web.xml</filename> file for the <code>jsp</code>
     57      <sgmltag class="starttag">servlet</sgmltag> must be moved or copied to the
     58      <filename>web.xml</filename> file for the BASE web application.
     59    </para>
    4960 
    5061  </sect1>
  • trunk/doc/src/docbook/appendix/web.xml.xml

    r7428 r7609  
    146146        as requests to extension servlets. Do not modify. Do not disable even if
    147147        extensions are not used.
     148        </para>
     149      </listitem>
     150    </varlistentry>
     151 
     152    <varlistentry>
     153      <term><sgmltag class="starttag">servlet</sgmltag>: jsp</term>
     154      <listitem>
     155        <para>
     156        Overrides the default JSP servlet defined by Tomcat. The parameters included
     157        with the distribution are required, but it may be customized if desired.
    148158        </para>
    149159      </listitem>
Note: See TracChangeset for help on using the changeset viewer.