You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Paul <pg...@randomlogic.com> on 2022/10/22 21:44:52 UTC

[Broker-j] Native Image Progress

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-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org