This folder contains an example of using the SDK with the Streaming service.
It depends on the oci-java-sdk-streaming module as well as oci-java-sdk-common-httpclient-jersey,
therefore using the OCI SDK Jersey client implementation.
The build configures the Native Gradle Plugin to allow building executables with GraalVM Native Image.
To run the example:
- Set the
ociJavaSdkproperty in the build.gradle file to the required value. - (Optionally) Install the required dependencies by running from the root directory:
mvn install -pl bmc-streaming,bmc-common-httpclient-choices/bmc-common-httpclient-jersey -am -DskipTests
- (Optionally) Add the
mavenLocal()as a repository in build.gradle if you performed previous step. - Set your compartment id and execute the example with the required arguments:
export COMPARTMENT_OCID="..." ./gradlew run --args=$COMPARTMENT_OCID
It is possible to execute any other example from the bmc-examples module by replacing the dependencies,
moving a different example java file and setting the javaMainClass Maven property.
To use Jersey3 simply change the oci-java-sdk-common-httpclient-jersey to oci-java-sdk-common-httpclient-jersey3
dependency.
To execute the example as a GraalVM native image executable run:
- Perform the first 3 steps as above if required.
- Build the native executable:
./gradlew clean nativeBuild
- Run the native executable with the required arguments:
export COMPARTMENT_OCID="..." ./build/native/nativeCompile/native-gradle-example $COMPARTMENT_OCID
Perform these steps prior to building with Java 8 distributions of GraalVM:
- Change version of the
org.graalvm.buildtools.nativeplugin to version0.9.25. - Add the following configuration in the end of
build.gralde:graalvmNative { binaries { main { richOutput = false buildArgs.add("--allow-incomplete-classpath") buildArgs.add("--report-unsupported-elements-at-runtime") } } }