Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to axon 4.3.2 and quarkus 1.4.1 #13

Merged
merged 3 commits into from
Nov 30, 2021
Merged

Update to axon 4.3.2 and quarkus 1.4.1 #13

merged 3 commits into from
Nov 30, 2021

Conversation

JohT
Copy link
Owner

@JohT JohT commented Apr 29, 2020

Content

  • Updated axon version from 4.2.2 to 4.3.2
  • Updated reflection-config.json for successful native image build (verified on Mac)
  • Filter configuration for native-image-agent (ignore reflection calls quarkus already takes care of)
  • Comparison of native-image-agent (reflection) trace outputs between axon 4.2.2 and 4.3.3
  • @ConstructorProperties (natively supported by quarkus) annotation for all serializable, immutable value objects
  • Updated documentation including a migration note for axon 4.3.2 for AggregateSnapshotter

@JohT JohT self-assigned this Apr 29, 2020
@JohT
Copy link
Owner Author

JohT commented Apr 29, 2020

Axon 4.3.2 seems to make much more use of reflection in comparison to 4.2.2.
This currently working branch needs 52 minutes to build the native image (old mac book air).
This is nearly twice as long as with Axon 4.2.2 (30 min.).

Some of the reflection-config.json entries might not be necessary,
even if they where reported by the native-image-agent.
For example take quarkus care of all reflection registration of cdi beans.
Experimentally removing them and waiting for another hour to build is not effective enough.

The contained trace files show all reflection calls in detail for both axon versions.
I'll continue to collect further informations and insights for that.

@JohT
Copy link
Owner Author

JohT commented Nov 30, 2021

Revisiting this pull request one and a half year later, native image build time doesn't seem to be an issue any more.
With Apple Silicon M1 and GraalVM CE 21.3.0 (build 11.0.13+7-jvmci-21.3-b05) the native image build now takes about 5 minutes.

Normal and native image are fully working. The native image starts in about 2 seconds.

This pull request is therefore ready to merge. Every fully working version will be tagged and released, so it is always possible to go back to an older version that builds faster on older machines.

@JohT JohT merged commit 46a0106 into master Nov 30, 2021
@JohT JohT deleted the update/axon43x branch November 30, 2021 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant