Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

  1. Database: MySQL 8.0 or Oracle 11g/12c
  2. Set JAVA_HOME (Refer to this section for Java 17 changes)
  3. Tomcat 9 and its service
  4. MySQL prerequisites

Please visit the respective download centers and download the latest version available for your operating system:

Note: Make sure MySQL prerequisites are configured correctly before moving on to the next steps.

...


MySQLOracle
Driver class namecom.mysql.jdbc.Driver

oracle.jdbc.OracleDriver

DB URL jdbc:mysql://<db_host>:<db_port>/<db_name>jdbc:oracle:thin:@<db_host>:<db_port>:<dbname>

Add below XML fragment below  <Resource> tag in $TOMCAT_HOME/conf/context.xml

Code Block
languagexml
<Environment
  name="config/openspecimen"
  value="$TOMCAT_DIR/conf/openspecimen.properties"
  type="java.lang.String"/>

...

FieldDescriptionValues
app.name

This field is useful for deploying multiple OpenSpecimen instances on the same Tomcat server. E.g. You can use "os-test" and "os-prod".

Typically this is "openspecimen".
tomcat.dirThe absolute path to the Tomcat directory
app.data_dir

Absolute path to OpenSpecimen data directory.

Best practice:

Create a folder in parallel to 'tomcat.dir' with the name "openspecimen/data"

app.log_conf

Folder where the OpenSpecimen logs should be created

If left empty logs are created in "app.data_dir/logs"

datasource.jndiName of datasource configured in "context.xml"Usually, it is "jdbc/openspecimen".
datasource.type

"fresh": If your database schema is created by OpenSpecimen from scratch.

"Upgrade": if your database schema is upgraded from a caTissue database.

Note: The name is a bit misleading, we will fix this in v5.2.

"fresh" or "upgrade"
database.typeMySQL or Oracle

"mysql" or "oracle"

plugin.dir

Absolute path to the plugin directory.

Best practice:

Create a folder in parallel to 'tomcat.dir' with the name "openspecimen/plugins"

...

  1. The installer scripts automatically copies the new WAR and plugin and take the backup of existing WAR and plugins into $os_data/old_builds directory.
  2. Stop the Tomcat if running
  3. Take the backup of the custom plugins if any
  4. Take the backup of the database before upgrade

Starting/Stopping OpenSpecimen

...

             JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.net=ALL-UNNAMED

6. Deploy the OpenSpecimen build.


Java 17 changes (Windows)

OpenSpecimen version 10.1 onwards.

  1. Rename the existing Java folder under C drive C:\Program Files\Java\jdk-1.8 to C:\Program Files\Java\jdk-1.8bkp
  2. Uninstall the old java from the control Panel
  3. Download and install the Java 17 from here.
  4. Check the Java version using below command once the installation is complete.
                 # java -version

  5. Change the Java environment variables and insert the new path to the JDK folder.
  6. Edit the service.bat file inside $Tomcat_Home/conf/service.bat location.
  7. Find the following string "--JvmOptions9" in the service.bat file and add the below line.
                --add-opens=java.base/java.lang=ALL-UNNAMED#

    Image Added
  8. Edit the catalina.sh file file inside $Tomcat_Home/conf/catalina.bat location.
  9. Add the below parameter under the "JDK_JAVA_OPTIONS" options.
                JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.net=ALL-UNNAMED"
  10. Deploy the OpenSpecimen build.