Hi, In the past months some folks at Red Hat have been working on the integration between Apache Camel and Quarkus. For those not familiar with the topic, Quarkus is a new Apache 2 licensed Cloud Native Java framework tailored for GraalVM and HotSpot that bring fast startup and low memory footprint to Java based application by leverage clever build time optimizations and AOT compilation through Substrate VM [1].
The result of the experimentation is available in the Quarkus repository [2][3] and I’m also working on an experimental branch on Camel K [4] to bring Quarkus on the K side based on my latest blog “Adventures in GraalVM: polyglot Camel (k) native routes with Quarkus” [5] I do believe that both communities can benefit from a collaboration: Apache Camel can benefit from Quarkus to become a) Even more suitable for microservices b) Suitable for serverless workloads as Quarkus among others enables built-time warmup of the Camel Context, and elimination of dead-code (code that was only used during warmup) which is a key enabler for very fast start-up and low memory footprint Apache Camel can be on the innovative forefront with a cloud native Java stack for running modern serverless workloads on Kubernetes/Knative with Camel K and Camel Quarkus So I’m proposing to officially support Quarkus in Apache Camel’s main repository (or a dedicated one if it suits better) by creating a new platform along with those we support as today (Spring Boot, Karaf). Quarkus’ people is keen to donate the code related to Apache Camel hosted in theirs repository to the Apache Software foundation. There has been some other users in the community whom have tried Quarkus and Camel together and written blogs [6] about their experience, and Claus also posted a quick gif animation of native compiled Camel with Quarkus starting up in 7 milliseconds and taking up only 15mb of memory [7]. Thoughts ? Luca [1] https://quarkus.io/ [2] https://github.com/quarkusio/quarkus/tree/master/extensions/camel [3] https://github.com/quarkusio/quarkus-quickstarts/tree/master/camel-java [4] https://github.com/lburgazzoli/apache-camel-k-runtime/tree/quarkus-runtime [5] https://bit.ly/2HvOrh0 [6] https://bit.ly/2WDtCbW [7] https://www.linkedin.com/feed/update/urn:li:activity:6521869236153970688/ --- Luca Burgazzoli