Hi there,
We’ve had this publisher app that sends events to topics other client apps in the firm are subscribed to using queues of their own, for years.
Lately, though, we’ve started to notice these exceptions intermittently that we’ve encountered previously. The client profile has " Allow Guaranteed message send
" enabled the whole time. As you can tell, we use JMS to send messages using JNDI, and the connection factory did not have " Direct Transport
" enabled previously, but we tried enabling it, and it has not helped. Retrying the sending a few times does help get the message sent, but this obviously isn’t sustainable.
FWIW, the publisher and consumer apps sharethe same client profile.
Any help would be greatly appreciated. Thanks in advance!
com.solacesystems.jcsmp.InvalidOperationException: Cannot send assured message: Assured message delivery is not enabled on this channel.
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendMsgOnce(JCSMPXMLMessageProducer.java:1109)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendImpl(JCSMPXMLMessageProducer.java:1042)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendToDestination(JCSMPXMLMessageProducer.java:853)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.sendToDestination(JCSMPXMLMessageProducer.java:794)
at com.solacesystems.jcsmp.impl.JCSMPXMLMessageProducer.send(JCSMPXMLMessageProducer.java:614)
at com.solacesystems.jms.impl.JCSMPMessageProducer.send(JCSMPMessageProducer.java:26)
at com.solacesystems.jms.impl.DefaultMessageProducerAdapter.send(DefaultMessageProducerAdapter.java:168)
at com.solacesystems.jms.SolMessageProducer.sendMessage(SolMessageProducer.java:381)
... 41 common frames omitted
Wrapped by: com.solacesystems.jms.ConfigurationException: Error sending message - operation not supported on router (Cannot send assured message: Assured message delivery is not enabled on this channel.)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.solacesystems.jms.impl.JMSExceptionValue.newInstance(JMSExceptionValue.java:36)
at com.solacesystems.jms.impl.JCSMPExceptionMapper$ArrayListMapper.get(JCSMPExceptionMapper.java:32)
at com.solacesystems.jms.impl.JCSMPExceptionMapper.get(JCSMPExceptionMapper.java:95)
at com.solacesystems.jms.impl.Validator.createJMSException(Validator.java:582)
at com.solacesystems.jms.SolMessageProducer.sendMessage(SolMessageProducer.java:388)
at com.solacesystems.jms.SolMessageProducer.send(SolMessageProducer.java:165)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:608)
at org.springframework.jms.core.JmsTemplate.lambda$send$3(JmsTemplate.java:586)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504)
... 36 common frames omitted
Wrapped by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is com.solacesystems.jms.ConfigurationException: Error sending message - operation not supported on router (Cannot send assured message: Assured message delivery is not enabled on this channel.)
at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:311)
at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:185)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:507)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:584)
at org.springframework.jms.core.JmsTemplate$$FastClassBySpringCGLIB$$2439e2e0.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687)
at org.springframework.jms.core.JmsTemplate$$EnhancerBySpringCGLIB$$d3722a51.send(<generated>)
at com.my.comp.config.notifier.event.SourceSystemNotifier.sendEventToDownstream(SourceSystemNotifier.java:120)
at com.my.comp.config.notifier.event.SourceSystemNotifier.sendNotification(SourceSystemNotifier.java:87)
at com.my.comp.config.notifier.event.SourceSystemNotifier$$FastClassBySpringCGLIB$$932157ee.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at com.my.comp.LoggingAspect.profileAllMethods(LoggingAspect.java:35)
at jdk.internal.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
at com.my.comp.config.notifier.event.SourceSystemNotifier$$EnhancerBySpringCGLIB$$bcd53e65.sendNotification(<generated>)
at com.my.comp.service.EventManagementServiceImpl.lambda$sendNotification$4(EventManagementServiceImpl.java:271)
at java.base/java.util.Collections$SingletonList.forEach(Collections.java:4856)
at com.my.comp.service.EventManagementServiceImpl.sendNotification(EventManagementServiceImpl.java:271)
at com.my.comp.service.EventManagementServiceImpl.lambda$notificationSender$3(EventManagementServiceImpl.java:252)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.my.comp.util.MDCUtils.lambda$withMdc$3(MDCUtils.java:97)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)