我有一个JAVA应用程序,我需要清除创建消费者的所有入队消息。
我有下一个代码:
start = time.time()
如何清除排队的邮件,然后创建使用者,以防止排队的邮件被处理。
答案 0 :(得分:2)
JMS API没有用于清除目标的已定义方法,因此除了在目标上创建使用者以及读取之前,使用JMS API单独执行此操作是不可能的,直到您无法使用{{{ 1}}或类似的。
如果您不介意直接使用ActiveMQ对象,则可以尝试在ActiveMQConnection中使用consumer.receive(1000)
方法。此方法将从代理中删除目标 IF 该目标上没有活动订阅者。
否则,您将继续使用ActiveMQ代理公开的JMX API来实际清除相关目标。