Что лучший способ состоит в том, чтобы обрабатывать асинхронную очередь непрерывно в Java?

Полагаю, вы ищете New-AzResourceGroupDeployment , у него есть параметр -Mode.

New-AzDeployment перенесено из New-AzureRmDeployment , которые также не имеют параметра -Mode, если для этого вы использовали AzureRM powershell, я полагаю, это может быть [ 116] .

7
задан Cœur 25 April 2017 в 17:28
поделиться

4 ответа

"С одной стороны я могу, вероятно, создать простую программу Java, которую я начинаю из командной строки, которая выбирает каждый объект в очереди и обрабатывает ее. Это безопасно?"

Что небезопасно об этом? Это работает отлично.

"Имеет больше смысла иметь ту программу, работающую как другой поток в контейнере Tomcat?"

Только если Tomcat имеет много свободного времени для обработки фоновой обработки. Часто, дело обстоит так - у Вас есть свободное время, чтобы сделать этот вид обработки.

Однако потоки не оптимальны. Потоки совместно используют общие ресурсы ввода-вывода, и Ваш фоновый поток может замедлить фронтенд.

Лучше должен иметь очередь JMS между "портом 80" фронтендов и отдельным процессом бэкенда. Процесс бэкенда запускает, подключения к очереди, выбирает и выполняет запросы. Процесс бэкенда может (при необходимости) быть многопоточным.

3
ответ дан 7 December 2019 в 10:08
поделиться

Если Вы уже используете Spring, проверяете DefaultMessageListenerContainer. Это позволяет Вам создавать управляемый сообщениями компонент POJO. Это может использоваться из контейнера существующего приложения (Ваш ВОЕННЫЙ файл) или как отдельный процесс.

1
ответ дан 7 December 2019 в 10:08
поделиться

Если Вы используете JMS, почему Вы помещаете задачи в DB?

Можно использовать длительную Очередь в JMS. Это сохранило бы задачи, даже если брокер JMS умирает, пока они не были подтверждены. У Вас могут быть избыточные брокеры так, чтобы, если один брокер умирает, второе автоматически вступило во владение. Это могло быть более надежно, чем использование единственного DB.

2
ответ дан 7 December 2019 в 10:08
поделиться

Я сделал этот вид вещи путем хостинга получателя в сервере приложений, weblogic в моем случае, но кот хорошо работает, также. Не опрашивайте очередь, используйте основанную на событии модель. Это могло быть кодировано рукой, или это мог быть управляемый сообщением веб-сервис. Если обновление базы данных является идемпотентом, Вы могли бы обновить базу данных и послать электронное письмо, то выпустить фиксацию на очереди. Это не проблема, чтобы иметь несколько потоков что все чтение от той же очереди.

У меня есть использование различные решения JMS, включая tibco, activemq (прежде чем апач включил в категорию его), и чаша. Чаша была более надежным решением с открытым исходным кодом, но это, возможно, изменилось теперь, когда это - часть апача.

0
ответ дан 7 December 2019 в 10:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: