我一直无法从Google单独找出这一个。我正在连接到一个非持续性的EMS主题,该主题发布了一组数据的更新。如果我跳过几次更新,则无关紧要,因为以下更新无论如何都会覆盖它。Tibco JMS(EMS)TimeToLive每个客户?
在EMS主题上发布的消息数量非常高,偶尔出于消费者落后的原因。在客户端连接方面,有没有办法确定消息的'生存时间'?我知道有其他经纪人,但特别是在Tibco上,我一直无法弄清楚是否可能,只能确定在服务器端为所有客户端设置此参数(这不适用于我)。
我创造我的连接工厂,然后创建一个Apache骆驼的JMS用下面的代码端点:
TibjmsConnectionFactory connectionFactory = new TibjmsConnectionFactory();
connectionFactory.setServerUrl(properties.getProperty(endpoints.getServerUrl()));
connectionFactory.setUserName(properties.getProperty(endpoints.getUsername()));
connectionFactory.setUserPassword(properties.getProperty(endpoints.getPassword()));
JmsComponent emsComponent = JmsComponent.jmsComponent(connectionFactory);
emsComponent.setAsyncConsumer(true);
emsComponent.setConcurrentConsumers(Integer.parseInt(properties.getProperty("jms.concurrent.consumers")));
emsComponent.setDeliveryPersistent(false);
emsComponent.setClientId("MyClient." + ManagementFactory.getRuntimeMXBean().getName() + "." + emsConnectionNumber.getAndIncrement());
return emsComponent;
我使用tibjms-6.0.1,tibjmsufo-6.0.1,以及其他各种TIB * ** - 6.0.1。
不是我希望大声笑的答案 - 我喜欢你自己的TTL自定义队列,不过谢谢! – Matt