Weblogic + Dameon Thread - PullRequest
       37

Weblogic + Dameon Thread

0 голосов
/ 21 августа 2011

Надеясь, что кто-то может помочь мне с решением относительно запуска фонового потока для мониторинга моего соединения с базой данных. Наше приложение развернуто в weblogic 92, и мне было интересно, есть ли способ запустить поток, запущенный во время работы приложения? спасибо

Я пытаюсь контролировать свою базу данных, чтобы убедиться, что я могу переключать базы данных в случае сбоя моего соединения. По этой причине я ищу простое решение для запуска фоновой задачи.

Ответы [ 2 ]

1 голос
/ 21 августа 2011

Несмотря на то, что на многих серверах приложений вы не можете создавать свои собственные потоки на сервере Java EE, см. Почему не рекомендуется создавать потоки в контейнере Java EE? .

0 голосов
/ 21 августа 2011

В зависимости от того, какое условие вы хотите проверить и какое действие вы хотите предпринять, вы можете использовать WebLogic Diagnostic Framework. Вы можете отправить ему сообщение JMS, когда обнаружит определенное состояние, а затем вы можете делать все, что захотите, с MDB.

Обновите ваш вопрос, указав условия и действия, которые вы хотите предпринять, и я могу предоставить более подробную информацию.

Вообще говоря, запуск собственных тем не рекомендуется.

UPDATE: По вашему описанию я предполагаю, что вы не используете JNDI или источники данных WebLogic. Было бы лучше, если бы вы использовали источники данных в WebLogic для пула соединений. WebLogic может обнаружить плохое соединение в пуле и воссоздать его, прежде чем передать его в ваше приложение.

Если вы имеете в виду разные базы данных, то в WebLogic есть опция с несколькими источниками данных, которая имеет функцию аварийного переключения. Что вы должны сделать, это настроить два источника данных - один основной и один вторичный - и затем создать мульти-источник данных, чтобы обернуть их. Затем вы должны использовать JNDI мульти-источника данных в вашем приложении. Очевидно, что если вы сделаете это, вам нужно убедиться, что данные согласованы между двумя экземплярами БД.

Это не делает ваше приложение специфичным для WebLogic, так как это будет просто изменение имени JNDI. WebLogic позаботится обо всем остальном.

...