2010-10-25 2 views
2

Я работаю над приложением на стороне сервера Java, которое должно предоставить службу SOAP. Для этого мы используем Axis2 и развертываем установку Tomcat 6.Фоновые задачи в Axis2 - стек Tomcat

У нас есть следующая проблема: нам нужно запустить пару фоновых потоков; один для периодического запроса другой веб-службы для изменения предоставленных данных, а второй для мониторинга и потребления данных в MQ.

Мой вопрос в том, что является лучшим, Java EE, практика запуска этих фоновых задач? Должны ли мы запускать их в качестве фоновых потоков, которые нам нужно будет сказать Tomcat для запуска при запуске? Есть ли лучший способ, чем создавать нересты из контейнера веб-приложений?

Система недостаточно велика, чтобы утверждать, что она разбивается на мелкие части (например, запускать фоновые задачи в системном деамоне, причем часть webservice является отдельным элементом без состояния, запрашивающим этот системный деамон). По той же причине у нас нет возможности работать на полном сервере приложений, таком как JBoss (это может иметь значение?).

Спасибо!

ОБНОВЛЕНИЕ: В случае дополнительного вопроса, если мы только породили новые потоки для этих задач (и предположим, что это не обычная практика), будет ли Tomcat (или Axis) более неустойчивым или иметь какие-либо другие проблемы?

ответ

1

Я предлагаю использовать quartz-scheduler для таких вещей. Это проще, чем сами потоки и, конечно, более гибкие в использовании. В начале Tomcat или Axis2 есть перехватчики, поэтому вы можете запустить планировщик там.

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