如何強制隊列僅在Red Hat MRG/Apache QPID中瀏覽,以便客戶端只能瀏覽隊列。即使某些客戶端試圖將消息從隊列中消耗掉,他也不應該這樣做。在Redhat MRG/Apache QPID中創建瀏覽只隊列
回答
我不認爲有這樣的選項來配置代理,但您的客戶端可以以瀏覽模式連接到隊列。
direct://amq.direct//myqueue?browse=true
- 編輯 -
另一種方法,使客戶端使用browse_only隊列。
package foo.bar;
import java.util.Hashtable;
import java.util.Map;
import org.apache.qpid.client.AMQDestination;
import org.apache.qpid.jndi.PropertiesFileInitialContextFactory;
import org.apache.qpid.jndi.ReadOnlyContext;
public class CustomPropertiesFileInitialContextFactory extends PropertiesFileInitialContextFactory {
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
protected ReadOnlyContext createContext(Map data, Hashtable environment) {
makeDestinationsReadOnly(data);
return super.createContext(data, environment);
}
protected void makeDestinationsReadOnly(Map<String, AMQDestination> dests) {
for(AMQDestination dest : dests.values()) {
dest.setBrowseOnly(true);
}
}
}
我想強制執行此選項。這種方式是由客戶自行決定選擇瀏覽。 – ManojGumber
目前在經紀人身邊沒有辦法做你想做的事情。你必須讓你的客戶以某種方式使用browse_only選項。例如通過自定義_PropertiesFileInitialContextFactory_就像我編輯的答案。 – szhem
同意mijer,除了僅瀏覽隊列不適合jms模型。 – jkysam
- 1. qpid交換,隊列
- 2. AMQP(Qpid)一對多隊列
- 3. JMS QPID隊列與主題
- 4. 在redhat主機中創建redhat lxc
- 5. 如何在C#中爲ActiveMQ隊列創建隊列瀏覽器(預覽不消耗)?
- 6. HornetQ隊列瀏覽器
- 7. setInterval()瀏覽器隊列
- 8. Java瀏覽對象隊列
- 9. 在C++中創建隊列
- 10. 阿帕奇qpid隊列網址
- 11. setInterval隊列瀏覽器在單獨的選項卡中排隊
- 12. 創建可在瀏覽器中
- 13. 創建方法未在瀏覽器中
- 14. 防止AJAX隊列阻止瀏覽器
- 15. 創建activemq隊列列表
- 16. 創建隊列列表
- 17. 在Swift中創建GCD隊列?
- 18. 在JBoss MQ中創建一個隊列
- 19. 如何在Windows Azure中創建隊列?
- 20. 在c中創建一個FIFO隊列
- 21. 在nservicebus中創建隊列時出錯
- 22. 如何在android中創建隊列?
- 23. 如何在ActiveMQ中創建隊列?
- 24. 創建瀏覽器遊戲
- 25. 創建文件瀏覽器
- 26. 創建「瀏覽用戶」
- 27. Extjs創建新瀏覽器
- 28. 我該如何訂閱MSMQ隊列,但只能「瀏覽」.Net中的消息?
- 29. 只能在使用隊列創建的NSManagedObjectContext上使用-performBlock:
- 30. Python創建工作隊列
你能詳細說明一下你的用例嗎?爲什麼你想要一個隊列,客戶端瀏覽但從不消費?誰消費一條消息?數據庫會對你的工作流程更好嗎? – philwb