In response to a previous thread where I was asked to share my knowledge regarding a native image build of Qpid Broker-j, here's a progress update.

Using the 8.0.6 release I have updated broker-j to Java 17 and built a native image using the 22.2 GraalVM compiler. In addition, my build scripts are modified to support running as a standard JVM as well as a native image )outside of a container). In addition, the build currently creates a Docker image containing the native image broker-j. I have not tested every possible function and feature as I do not have a working test suite capable of automatically testing every function (if anyone knows of something PLEASE provide a reference to it). Unit tests have only gotten me so far with the native image build and testing. I wrote a test based on the Qpid JMS client code to automate testing message processing and I have successfully run millions of messages through the native image broker-j using a topic exchange and BDB, Memory, JSON, and JDBC (PostgreSQL) storage types. The Derby storage type will not currently support a native image due to how Derby uses reflection (Maybe I can address and solve this, but that would be a separate project).

More testing is needed for functionality such as certificate management (my next task) and other exchange types. I am currently working on some documentation to help other developers understand the build and test process when converting a Java application such as this to a native image.

The project is located here and since this is the only thing I am currently working on, I'm very active at updating it:

https://github.com/Rohan427/Qpid4Graal

Paul G. Allen


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to