-
Notifications
You must be signed in to change notification settings - Fork 353
Add more Spring Integration native hints #894
Conversation
This PR depends on: spring-projects/spring-integration#3586. A couple observation:
This might be a Graal VM problem with DNS resolution. Or netty. Or we need to configure The interface with my |
OK. Turns out it doesn't work well.
Fails with the same DNS resolution problem. Thanks |
To be more precise: it fails with that error as a native |
Found more reflection usage when it comes to Control Bus and its SpEL-based functionality... |
NOTE: tried to add reflection for
Not sure why does it talk about
on the Thanks P.S. At the moment the PR is ready for merge: the |
The So there's a couple of things we could do here:
|
Hi Christoph! Well, it really doesn't work with the |
@artembilan have you tried running your thing with the agent to collect missing config - does it fix the DNS resolution problem? |
thank you for suggestion, but I'm not sure how to proceed with that.
according Docs: https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/#tracing-agent-testing. Not relevant to this problem, but I see that CI has failed for my PR and looks like the change in the core project is not installed to Maven local before running samples to verify. |
0c3716f
to
0e875a4
Compare
The latest commit depends on: spring-projects/spring-integration#3590. |
Should I merge it now that we use Spring Boot 2.5.3-SNAPSHOT? |
Let me release Spring Integration 5.5.2 right now and then I update the sample to rely on Spring Boot dependency management and then you can merge it. |
* The `IntegrationFlow` interface can be proxied at runtime * The resource pattern for JDBC schemas should really be a regex pattern * The HTTP and WebFlux request mappings need a reflection access to method of their handlers to map * Process interfaces with a `@MessagingGateway` and register their proxy hints * Improve `IntegrationApplication` in the sample to cover the mentioned above cases about an `IntegrationFlow` proxy and `@MessagingGateway`
* Use `WebClient.Builder` bean from the ctx for application logic
…equirements * Add some common types to satisfy common SpEL expressions
Spring AOT plugin fails with no `WebFilter` class on `type.implementsInterface()` * Add more Spring Integration types specific to `MessageStore` serialization functionality * Add programmatic scan for `IntegrationNode` impls instead of huge number of explicit types in `@TypeHint` * Add `JdbcChannelMessageStore` logic into the sample to cover its serialization functionality
* Add programmatic scan for `IntegrationNode` impls instead of huge number of explicit types in `@TypeHint` * Add `JdbcChannelMessageStore` logic into the sample to cover its serialization functionality * Add `RedisChannelMessageStore` logic into the sample to cover JSON (un)marshaling feature
0e875a4
to
3fd97ab
Compare
Rebased to the latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good to me, I just noticed a pretty high memory footprint, so maybe something to fine tune after our 0.11 improvements.
Thanks, @sdeleuze, for taking care about this! I wonder if you can share with me some guidance how you measure that memory, so perhaps I can investigate that myself from Spring Integration perspective. |
Sure, you can measure it with |
IntegrationFlow
interface can be proxied at runtimemethod of their handlers to map
@MessagingGateway
and register theirproxy hints
IntegrationApplication
in the sample to cover the mentionedabove cases about an
IntegrationFlow
proxy and@MessagingGateway