I have a very simple producer type program that tries to send a ByteMessage to a topic.
My program is receiving the error 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.)
How do I go about ensuring that the message sent is not an assured message? Is this some solace configuration variable? Here is the simple JMS related code Im trying to use where bytes
is the object I'm trying to send:
val connection = connectionFactory.createConnection()
val session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
val publishDestination = session.createTopic(solace.TOPIC)
val message = new SolBytesMessage()
message.writeBytes(bytes)
val producer = session.createProducer(publishDestination)
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT)
log.info("Sending message")
producer.send(publishDestination, message)
Please verify that Direct Transport
is checked in the connection factory settings on the appliance.
The Direct Transport
setting in the connection factory controls the transport to use for non-persistent messages.