我有一个ActiveMQ嵌入式代理,以及许多Topic客户端。目前所有内容都是用Java(而不是XML)配置的。我想在客户端之间配置主题消息的总顺序。
ActiveMQ将总排序指定为每个目标策略。有没有一种方法可以直接在Java中配置它?
我一直在使用的vanillaish启动代码:
// broker code (single broker)
BrokerService broker = new BrokerService();
broker.addConnector(address);
broker.setPersistent(false);
broker.setUseJmx(false);
broker.start();
// client code (multiple clients)
ActiveMQConnectionFactory connectionFactory
= new ActiveMQConnectionFactory(address);
connection = connectionFactory.createConnection();
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
topic = session.createTopic(topicName);
producer = session.createProducer(topic);
consumer = session.createConsumer(topic);
代码看起来像这样:
PolicyEntry policy = new PolicyEntry();
policy.setDispatchPolicy(new StrictOrderDispatchPolicy());
PolicyMap pMap = new PolicyMap();
pMap.setDefaultEntry(policy);
broker.setDestinationPolicy(pMap);