Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > деплой в JBoss в заданном порядке


Автор: sandello 13.9.2006, 08:56
Есть проект, состоящий из разного набора разных файлов (*.jar,*.ejb3,*.aop)
Для правильного старта проекта есть необходимость
1. разворачивать эти файлы в заданном порядке
2. после старта некоторых EJB3 нужно произвести некоторые настроечные работы

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

Со второй задачей проблемы. Если её сделать через мбины - то (т.к. мбины стартуют раньше содержимого архива) работать не будет.
Я попробовал вынести *-service.xml из архива и в описании мбина добавить зависимость от развернутых из соответствующего архива EJB3.
Но, почему-то (я не вполне понимаю, почему)  не работает.
При старте JBoss вообще ругается, что не нашел класса, указанного в качестве MBean'а (попытка побороть эту проблему с помощью выделения в отдельный архив мбина, его интерфейса и *-service.xml успеха не имела: ругается
Код

--- Incompletely deployed packages ---
org.jboss.deployment.DeploymentInfo@aa8abc31 { url=file:/usr/local/java/jboss-4.0.4.GA/server/default/deploy/billing/dictionary_init.jar }
  deployer: org.jboss.deployment.JARDeployer@c9be79a
  status: Deployment FAILED reason: - nested throwable: (java.lang.reflect.UndeclaredThrowableException)
  state: FAILED
  watch: file:/usr/local/java/jboss-4.0.4.GA/server/default/deploy/dictionary_init.jar
  altDD: null
  lastDeployed: 1158126555736
  lastModified: 1158126555000
  mbeans:

)


Есть у какие-нибудь идеи?

Автор: JavaCoder 13.9.2006, 12:59
Билдиш Ant'om в .ear и деплоиш.

Автор: w1nd 13.9.2006, 21:40
Цитата(JavaCoder @ 13.9.2006,  12:59)
Билдиш Ant'om в .ear и деплоиш.

А разве это решает проблему?

По поводу порядка загрузки: по алфавиту. Либо обзовите свои архивы в нужном порядке следования первых букв, либо запихивайте в подпапки вроде "1", "2", "3".

Для инициализации (если вас интересует только инициализация) можно использовать servlet listener (само собой, придется создать еще и web-архивчик с servlet'ом). Этот способ хоть и неудобен, зато работает на всех серверах. Если же вам нужна еще и деинициализация, не пойдет.

Автор: sandello 14.9.2006, 06:27
Приложение не влючает в себя веб-часть. Ради одной инициализации внедрять ее не хочется, к тому же обратного механизма нету :-(
На тему правильного именования - я попробую.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)