Использование одного действия JBoss в нескольких приложениях ESB без дублирования кода - PullRequest
1 голос
/ 19 января 2010

Я работаю над проектом, который состоит из нескольких приложений ESB, развернутых на сервере приложений JBoss.

Каждое приложение ESB обрабатывает сообщения (проверяет, обогащает ...) посредством нескольких действий (они расширяют AbstractActionLifecycle);Некоторые из этих действий идентичны для всех приложений.

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

Когда я повторно развернул CommonService.esb, я ожидал, что все действия будут перезагружены.Однако, это не так.Новые экземпляры действий не создаются, а старые экземпляры все еще там.Я понимаю, почему это происходит (у JBoss все еще есть ссылки на эти действия, поэтому нет сборки мусора), но мне интересно, есть ли какое-то решение для этого.

Могу ли я попросить JBoss перезагрузить его действия?Есть ли лучший подход для обмена действиями, используемыми в нескольких местах?

1 Ответ

2 голосов
/ 20 января 2010

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

Я добавил следующее в META-INF / deploy.xml всех других проектов.

<?xml version="1.0" encoding="UTF-8"?>
    <jbossesb-deployment>
    <depends>jboss.esb:deployment=CommonServices.esb</depends>
</jbossesb-deployment>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...