Embedded JDK that can be replaced

Delft-FEWS binaries contain an embedded JRE. It should be possible to replace the embedded version of the JRE with a commercial JDK or OpenJDK of choice.

Before starting to use Oracle JRE packages released after April 2019, please be aware of changes in the Oracle Java License model, see https://java.com/en/download/release_notice.jsp.

Our software is known to work with the following OpenJDK alternatives (Corretto is recommended):

  1. The Amazon OpenJDK distribution https://aws.amazon.com/corretto/.
  2. The OpenJDK reference implementation found at https://jdk.java.net/.

The Delft-FEWS binaries contain a embedded stripped-down JRE (Java Runtime Environment) based on Amazon Coretto OpenJDK. This package is referred to as the Delft-FEWS base build. These OS specfic JREs can be found in folders bin/linux/jre and bin\windows\jre. These JREs can be easily replaced by any other open source or commercially supported version of the same major Java version. Since Operator Clients / Stand Alone Clients and and Forecasting Shell Server mostly run in a controlled (and secured) environment, it is not necessary to have these jre subfolders replaced. The decision to arrange additional 'support for Java' is up to the end user of Delft-FEWS. If crucial security fixes are required in the embedded jre in the Delft-FEWS binary package, Deltares may distribute updated base builds. Optionally, distribution of new base builds can be done by upload via the Admin Interface. 

Some models / model adapters may require a separate JDK installed

The OpenJDK supplied in the Delft-FEWS binaries is not the full JDK. Instead it is bundled by the jlink executable to a stripped-down JRE with only the parts that the OC / FSS / CM / MC require. This economizes the number of bytes that needs to be copied to every FSS host. This is different from 2017.02 and before where the full JRE was normally installed. If a model adapter or external model to be run by the Forecasting Shell or Operator Client is also using this stripped down version of the JRE for its operation, it is possible that some of the java classes required are missing from the shipped jre and the adapter or model won't be able to run properly. It is the responsibility of the application managers / model configurators to ensure that their adapter and models requiring Java are already supplied with the correct Java Runtime modules. It is essential that the Forecasting Shell Launcher startup script should not be contaminated by additional path variables, instead the models should contain their own embedded jre. See the General Adapter Module for more details.

The Master Controller and Apache Tomcat 9 (Admin Interface, Open Archive, Fews Web Services and Database HTTPS Proxy) are known to work with the OpenJDK 11 as distributed by RedHat).

NB. The 11.0.2 distribution contains bugs in the OpenJDK 11.0.2 SSL, which are known to occur specifically when setting up SSL encryption in Tomcat for the https database proxy. When SSL is not used, 11.0.2 is functionally usable.

  • No labels