Skip to content

BE GraalVM Tools

Ramesh Polishetti edited this page Dec 24, 2025 · 3 revisions

Graal Tools

GraalVM accelerates Java application performance and efficiency by compiling them into fast, lightweight native binaries with instant startup, lower resource usage, and low latency.

By using the scripts provided in the graal folder, you can generate native binary for your BE application.

Prerequisites

  • Install TIBCO BusinessEvents
  • You need to have GraalVM CE. Install from here.
  • Install GraalVM related tools for Linux sudo apt-get install build-essential zlib1g-dev jq.
  • You need to have jnr posix jar file in external jars path. Get it from here.

Script

TIBCO BusinessEvents provides the be_graal script for building native executable binary for your TIBCO BusinessEvents application.

Usage: ./be_graal.sh -s <BE_HOME> -a <APP_HOME> -e <EXTERNAL_JARS_PATH> -t <IMAGE_NAME> [-m] [-c] [-n] [-r] [-d] [-h]
  -m                       Generate metadata
  -c                       Clean metadata
  -n                       Create native image
  -r                       Run the native image
  -d                       Build Docker image from native binary
  -s <BE_HOME>             Path to BE Home
  -a <APP_HOME>            Path to BE application directory with cdd and ear
  -u <PU>                  Processing Unit name (default: default)
  -e <EXTERNAL_JARS_PATH>  Path to External Jars (default: extjars)
  -t <IMAGE_NAME>          Provide docker image name (default: be-graal-image)
  -h                       Display this usage message

Generate meta-data

Run this step for all processing units and thoroughly test the application to cover all functionality so that the scripts can generate sufficient Graal metadata.

./be_graal.sh -m \
-s <BE_HOME> \
-a <APP_HOME> \
-u <PU> \
-e <EXTERNAL_JARS_PATH>

Example

./be_graal.sh -m \ 
-s ~/tibco640/be/6.4 \ 
-a ~/tibco640/be/6.4/examples/standard/FraudDetection/cddear \ 
-u default \ 
-e ~/extjars

Clean meta-data

Run this step to remove Graal metadata.

./be_graal.sh -c \
-a <APP_HOME>

Example

./be_graal.sh -c \ 
-a ~/tibco640/be/6.4/examples/standard/FraudDetection/cddear

Create native image

Create a native executable binary for your BE application as shown below. Note that the generated binary is specific to the operating system and architecture you are currently using.

./be_graal.sh -n \
-s <BE_HOME> \
-a <APP_HOME> \
-e <EXTERNAL_JARS_PATH>

Example

./be_graal.sh -n \ 
-s ~/tibco640/be/6.4 \ 
-a ~/tibco640/be/6.4/examples/standard/FraudDetection/cddear \ 
-e ~/extjars

Run the application

You can run the application as shown below.

./be_graal.sh -r \
-s <BE_HOME> \
-a <APP_HOME> \
-u <PU> \
-e <EXTERNAL_JARS_PATH>

Example

./be_graal.sh -r \ 
-s ~/tibco640/be/6.4 \ 
-a ~/tibco640/be/6.4/examples/standard/FraudDetection/cddear \ 
-u default \ 
-e ~/extjars

Create Docker image

You can create the Docker image from native binary as shown below.

./be_graal.sh -d \
-s <BE_HOME> \
-a <APP_HOME> \
-t <IMAGE_NAME>

Example

./be_graal.sh -d \ 
-s ~/tibco640/be/6.4 \ 
-a ~/tibco640/be/6.4/examples/standard/FraudDetection/cddear \ 
-t be-graal-fd-image:6.4.0

Clone this wiki locally