Got error with NettyTransportExecutorService using sol-jms-jakarta library after upgrade to springboot 3.4.4

Hi, I am getting this error using jmsTemplate to publish a message to solace queue
after upgrade to springboot 3.4.4 which using solace-jms-spring-boot-starter
sol-jms-jakarta 10.24.1
it was working with old jms 1.0 library sol-jms 10.24.0,
source code:
solaceJmsTemplate.execute(eebAlertTopic, (session, producer) β†’ {
try {
TextMessage msg = session.createTextMessage(message);
msg.setJMSMessageID(messageId);
producer.send(msg);
session.commit();
if (log.isDebugEnabled()) {
log.debug(β€œAlert message published to solace: [{}]”, message);
}
return null;
} catch (Exception e) {
session.rollback();
log.error(β€œ[{}] Error sending message to solace : [{}]”, ErrorCodes.SOLACE_ERROR_101, message, e);
throw new JMSException(e.getMessage());
}
});

here is the error stack trace:

java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 | at com.solace.transport.impl.netty.NettyTransportExecutorService.(NettyTransportExecutorService.java:32) | at com.solacesystems.jcsmp.impl.ContextImpl.(ContextImpl.java:64) | at com.solacesystems.jcsmp.impl.ContextImpl.(ContextImpl.java:109) | at com.solacesystems.jcsmp.JCSMPFactory.createContext(JCSMPFactory.java:770) | at com.solacesystems.jms.SolConnection.(SolConnection.java:154) | at com.solacesystems.jms.SolConnection.(SolConnection.java:91) | at com.solacesystems.jms.SolConnectionFactoryImpl.createConnection(SolConnectionFactoryImpl.java:112) | at org.springframework.jms.connection.SingleConnectionFactory.doCreateConnection(SingleConnectionFactory.java:475) | at org.springframework.jms.connection.SingleConnectionFactory.initConnection(SingleConnectionFactory.java:434) | at org.springframework.jms.connection.SingleConnectionFactory.getConnection(SingleConnectionFactory.java:340) | at org.springframework.jms.connection.SingleConnectionFactory.createConnection(SingleConnectionFactory.java:245) | at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:211) | at org.springframework.jms.core.JmsTemplate.access$000(JmsTemplate.java:93) | at org.springframework.jms.core.JmsTemplate$JmsTemplateResourceFactory.createConnection(JmsTemplate.java:1209) | at org.springframework.jms.connection.ConnectionFactoryUtils.doGetTransactionalSession(ConnectionFactoryUtils.java:325) | at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:514) | at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:572) | at

Hi @gb01,

This appears to be a known issue as seen in the solace JMS api release notes, Release Notes: Solace PubSub+ Messaging API for JMS and Jakarta Messaging, Version 10.26.0. See issue SOL-128183. This issue has been resolved in release 10.25.2 or later.

Hope this helps!

Chris

1 Like

Thank you Chris for your suggestion, problem resolved.
I replaced sol-jms-jakarta 10.24 which comes with spring boots
with version 10.26
<dependency>
<groupId>com.solacesystems</groupId>
<artifactId>sol-jms-jakarta</artifactId>
<version>10.26.0</version>
</dependency>
<dependency>
<groupId>com.solace.spring.boot</groupId>
<artifactId>solace-jms-spring-boot-starter</artifactId>
<version>5.2.0</version>
<exclusions>
<exclusion>
<groupId>com.solacesystems</groupId>
<artifactId>sol-jms-jakarta</artifactId>
</exclusion>
</exclusions>
</dependency>

Thank you for your help.
Hope the solace-jms-spring-boot-starter will be updated soon with the new sol-jms-jakarta version.

Regards,
George