SolConnectionFactory stuck on javax

rothek
rothek Member Posts: 7

Hi,

I'm trying to migrate my project from Java 11 to Java 17 while also updating to Spring Boot 3.

The depencies I use for this solace-jms-spring-boot starter and autoconfigure, both on v 4.3.0. My problem is that the DefaultJmsListenerContainerFactory requires a ConnectionFactory that extends Jakarta ConnectionFactory, but the SolConnectionFactory is javax. I get the SolConnectionFactory from the dependency "com.solacesystems:sol-jms:10.18.0" which seems to be the latest but still uses javax.

@Configuration
@EnableJms
public class JmsConfiguration {
    @Bean
    public DefaultJmsListenerContainerFactory jmsConnectionFactory(
        @Value("${spring.jms.listener.auto-startup:true}")
        boolean autoStart,
        SolConnectionFactory connectionFactory) {

        connectionFactory.setClientID(CLIENT_ID);

        var factory = new DefaultJmsListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);//<-- Problem is here
        factory.setAutoStartup(autoStart);
        factory.setConcurrency(CONCURRENCY_LIMIT);

        return factory;
    }
}

Is there a new version for SolConnectionFactory that uses jakarta or any workaround to get this working?

Answers