Apache-Tomcat 5.5 / 6 / 7 / 8 / 9
This topic demonstrates how to configure Apache-Tomcat 5.5 / 6 / 7 / 8 / 9.
1. Logi application folders must be stored beneath the webapps folder.
2. Use the environment variable $CATALINA_OPTS to pass in the JVM flags described above to the Tomcat start-up script. The $CATALINA_HOME environment variable in the example refers to the folder into which Apache Tomcat has been installed.
Under Windows, when Tomcat is installed as an application, the JVM flags can be set by creating the file $CATALINA_HOME\bin\setenv.bat and placing a line of text similar to this in it:
set "CATALINA_OPTS = -server -d64 -Xmx4096m -XX:MaxPermSize=256m -XX:CompileThreshold=8000
-XX:-DisableExplicitGC -Djava.awt.headless=true"
The -d64 flag assumes 64-bit software and the double-quotes enclose everything except the set command word.
Under Windows, when Tomcat is installed as a service, the JVM flags can be set by using the administrative tool installed with Tomcat (version number varies): $CATALINA_HOME\bin\tomcat8w.exe:
In the administrative tool, select the Java tab and add the JVM flags to the Java Options, as shown above.
Queries That Use Square Brackets with Tomcat 8.5+
Tomcat 8.5+will reject queries that include square brackets [ ] unless the following highlighted code is added to $CATALINA_HOME\conf\server.xml:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
relaxedQueryChars="[]"
redirectPort="8443" />
EC Crypto Issue with Tomcat 8.5 and JDK 1.8.0.181 for SQL Server 2008
If you're using Apache-Tomcat 8.5 and JDK 1.8.0.181 under Windows and attempting to connect to SQL Server 2008, you'll encounter a security error. To remedy this issue:
- Use File Explorer to find and edit C:\Program Files\Java\jre1.8.0_181\lib\security\java.security
- On or about line #650, look for this property:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC - Delete the value 3DES_EDE_CBC and the preceeding comma. Save the file.
Logi applications may quickly open and close dozens of database connections and, in some connection-intensive environments, this may cause server resource problems. The following configuration changes for Tomcat implement connection pooling and have been tested with our Connection.JDBC and Connection.Oracle elements:
For server-wide connection pooling, change these files:
1. Add this to the file $CATALINA_HOME/conf/web.xml:
<resource-ref>
<description> DB Connection Pooling</description>
<res-ref-name> jdbc/Oraclecp</res-ref-name>
<res-type> javax.sql.DataSource</res-type>
<res-auth> Container</res-auth>
</resource-ref>
2. Create a new file $CATALINA_HOME/conf/context.xml, containing the following (note variation for Apache 8.0):
<Context>
<Resource name="jdbc/Oraclecp" auth="Container"
type="javax.sql.DataSource" removeAbandoned="true"
logAbandoned="false"
maxActive="20" maxIdle="3" maxWait="10000"
removeAbandonedTimeout="30"
username= "<yourUsername>"
password="<yourPassword>"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" (Apache 5.5 - 7.x)
factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory" (Apache 8.x)
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@<yourServerName>:1521/<yourSID>"/>
</Context>
3. Copy the "ojdbc8.jar" file from <LogiAppFolder>/WEB-INF/lib to $CATALINA_HOME/common/lib
4. Manually edit your Connection element attributes in _Settings.lgx (using the Source tab in Studio's Workspace) to be:
Connection String = jndi-datasource-name=jdbc/Oraclecp
These links provide additional information about connection pooling:
https://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
https://tomcat.apache.org/tomcat-8.5-doc/jndi-datasource-examples-howto.html