我知道JmsTemplate
可以在多个线程之间共享,并且可以同时用于发送消息。
但是,如果我想共享一个实例,但发送具有不同QoS参数的消息 - 比如不同的优先级,该怎么办。
据我所知,在源代码中,如果启用了QoS,JmsTemplate
会使用带有QoS的Producer.send()
的重载版本,并且没有其他方法可以从外部传递这些参数(除了将它们直接设置为JmsTemplate
实例)
出于已知原因,在发送邮件之前将QoS设置为单个共享JmsTemplate
实例不是一种选择。
所以问题是:
是否有一个很好的解决方案可以保留一个JmsTemplate
实例并使用事先未知的QoS发送消息(例如从外部传递)?
如果没有,怎么"脏"是在每个发送调用上创建一个新实例吗?