Quickstart

JAR quickstart

To connect the latest Flex JAR to a Flink cluster:

Note: Quoting may be required for some variables

🏗️🏗️ Downloading a Flex JAR file is under construction. Please use Docker or Helm in the meantime.

Some variables may require quotes, and each line ends with a \ character.

#!/usr/bin/env bash

set -Eeuxo pipefail

JVM_OPTS="-server -XX:MaxInlineLevel=15 -Djava.awt.headless=true -Xmx8G \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED"

FLINK_REST_URL=127.0.0.1:9002 \
LICENSE_ID=1c99v4-f690-4a4f-b144-73de2369444a \
LICENSE_CODE=TRIAL_30D \
LICENSEE=My Corp \
LICENSE_EXPIRY=2020-09-05 \
LICENSE_SIGNATURE=15CFFF969111DB6DCA142B6F1E0065F94A614251B80128D52C2CD45993A021AE10E90F57B90FF76CC1B992C16E54BCF1CBE7E5EE3124B3E585BE133774836A6EBB51B55E67EF60F4A435EBEC9F07A26CEABDCF6E3CF4137A33201E7662AF1F7986E57341E0EAEB884BBF320C348D62679F521259DAD1E03F6F79DB53D83CD41B \
ENVIRONMENT_NAME=Trade Book (Staging) \
ALLOW_FLINK_SUBMIT=true \
ALLOW_FLINK_JOB_TERMINATE=true \
ALLOW_FLINK_JAR_DELETE=true \
ALLOW_FLINK_JOB_EDIT=true \
java $JVM_OPTS -jar ./flex-latest.jar
  • Run chmod +x start-flex.sh then ./start-flex.sh
  • Flex is now running on http://localhost:3000

Java commands

In general we recommend starting Flex with a Java command similar to our Dockerfile:

JVM_OPTS="-server -XX:MaxInlineLevel=15 -Djava.awt.headless=true -Xmx8G \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED"

java $JVM_OPTS -jar ./flex-latest.jar

Required Java Flags (JDK17+)

Customers using Java JDK 17+ will be required to add the following flags to their startup script:

 --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED \
 --add-opens=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED"

These are required to run our products with Java 17+. One of our external dependencies requires internal XML processing classes (from Xerces) and JDK 17+ enforces stricter module boundaries, blocking reflective access to internal APIs by default.

Previous
Docker