Skip to content

NoSuchMethodException on org.apache.activemq.ActiveMQConnectionFactory.<init> when using spring-boot-starter-activemq in a native image #41212

@miller79

Description

@miller79

On my journey to understand GraalVM a bit more, I decided to clean up my spring-boot-benchmark project to show updated startup times with various Spring Boot dependencies. Why attempting to get the "all" version working with native, I was constantly getting NoSuchMethodError on the ActiveMQConnectionFactoryFactory. My understanding is that all Spring Starters should work out the box with Spring Native but I may have misread this.

Looking deeper into this, it appears the problem is the ActiveMQConnectionFactoryConfiguration class uses @ConditionalOnProperty and .enable properties which according to the documentation is not supported. With that knowledge, I was able to get past this error by creating the ActiveMQConnectionFactory bean directly (shown here). If you want to see the issue yourself, just remove the bean and you should get the same results. This project is just using spring-boot:build-image with the native profile to build.

I'm not sure if this is an issue per say or not but I feel that the auto configuration for ActiveMQ shouldn't break Native builds especially in a no configuration case but wanted to get your thoughts and if there is opportunity to making an alternate version that would work out the box.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions