2013-04-08 1 views
1

Мы используем API-интерфейс HornetQ для создания ServerLocator из HornetQClient. ServerLocator используется для создания очередей. вот код:настройка max-size-bytes и адрес-full-policy в HornetQClient

TransportConfiguration connectorConfig = new TransportConfiguration(InVMConnectorFactory.class.getName()); 

ServerLocator locator = HornetQClient.createServerLocatorWithoutHA(connectorConfig); 

int ackBatchSize = ConfigWrapperHelper.getIntParameter(ProductMarkingConfigParamEnum.ACK_BATCH_SIZE_FOR_JMS_QUEUES); 
locator.setAckBatchSize(ackBatchSize); 
locator.setConsumerWindowSize(CONSUMER_WINDOW_SIZE); 
locator.setClientFailureCheckPeriod(Long.MAX_VALUE); 
locator.setConnectionTTL(-1); 

ClientSessionFactory clientSessionFactory = locator.createSessionFactory(connectorConfig); 

ClientSession clientSession = _clientSessionFactory.createSession(XA, AUTO_COMMIT_SENDS, AUTO_COMMIT_ACKS); 
clientSession.createQueue(queueName, queueName, IS_DURABLE); 

проблема заключается в том, что нам нужно настроить максимальные значения размера байт и тэ адрес набитого-политику, для каждого из очередей.

Я знаю, как это сделать с помощью XML, но поскольку я использую ядро ​​hornetq для настройки очередей, эти параметры также необходимо настроить с помощью кода.

Я видел, что есть класс, называемый AddressSettings, которые эти параметры могут быть установлены в

мой вопрос. - как настроить этот AddressSettings объект в ServerLocator?

Или - есть ли другой способ настроить эти параметры в ServerLocator, который создан из HornetQCLient?

ответ

1

AddressSettings - это свойство сервера, вы не можете установить его с клиента. Вы можете использовать его на HornetQServer или изменить эквивалентный XML.

Настройки AddressSettings основаны на подстановочных знаках. Таким образом, вы можете создать адрес Settings, который будет соответствовать имени ваших очередей в соответствии с вашими правилами.

Если вы работаете с встроенным сервером, вы можете использовать это:

server.getAddressSettingsRepository().addMatch("<your-expression-matchin your queue(s)", setting); 

Для настройки с помощью XML, посмотрите на эту часть документации:

http://docs.jboss.org/hornetq/2.2.14.Final/user-manual/en/html/queue-attributes.html#queue-attributes.address-settings

На JBoss 7 тот же фрагмент XML можно найти в файле standalone-all.xml (или любом отдельном * .xml, который содержит hornetq/messaging)

+0

Я понимаю, что, поскольку я использую Horn etQCLient, я не могу использовать AddressSettings. но в настоящее время я не использую XML для настройки HornetQClient. как я могу добавить такой XML? где должен быть этот XML? –

+0

(опубликовано сообщение с информацией, которую вы мне задали) –

Смежные вопросы