В Интернете есть (1) веб-приложение , где пользователь создает некоторые задачи и (2) другая система ( служба на основе Java), которая обрабатывает задачи.
Задачи зависят от даты / времени - пользователь создает задачу, устанавливает дату ее начала, например, завтра в 1:00, и он готов.Служба Java завтра в 1:00 начинает обработку задачи и сообщает приложению текущий статус обработки.
Мы планируем использовать ActiveMQ для (а) уведомления службы о новой задаче, (б) уведомления веб-приложенияо текущем статусе задачи.(А) часть без проблем.
Мой вопрос - (б) хорошая идея ?Веб-приложение должно быть подписано на очередь сообщений, чтобы оно вызывалось при наличии сообщения, сообщающего о ходе выполнения текущей задачи.Веб-приложение должно обработать это и сохранить информацию в БД.Я сомневаюсь, что мы должны сделать это таким образом, потому что если нет трафика к веб-приложению, оно умирает и умирает подписчик .Поэтому сообщения не будут обрабатываться.
Лучше ли создавать службу .NET, которая постоянно подключена к очереди?Преимущество подписки в веб-приложении заключается в том, что в случае необходимости использования кэша второго уровня в Nhibernate все работает.Если есть два процесса (веб-приложение, новый сервис), которые используют Nhibernate и кэш 2-го уровня, это может вызвать проблемы, поскольку каждый из них может работать с разными данными.веб-сервис, но коллеги сообщили, что довольно сложно обмениваться данными через wcf от java до .net и использовать сертификат для безопасного общения.