2015-05-14 9 views
7

Мы используем Wildfly 8.2.0.Final, Maven 2.2.1, Seam 2.2.0.GA и Weld 2.2.6.Final.Использование шва в одиночной WAR WAR в противном случае с использованием Weld с включенным EAR

У нас есть файл EAR с устаревшей WAR, новой WAR и связкой других модулей. Унаследованная WAR полагается на шов, но новая WAR и остальные модули в EAR полагаются на Weld.

В настоящее время работает только унаследованная WAR, потому что у нас есть подсистема Weld, исключенная из jboss-deployment-structure.xml, пока мы не получим Seam, изолированный от старой WAR как-то. Мы попытались удалить Seam из EAR и переместить его в зависимость от предыдущей WAR, но это не сработало. Для работы с EJB кажется, что он должен быть зависимым от EAR и определен как ejbModule в конфигурации maven-ear-plugin.

Любые идеи о том, как мы можем это установить?

ответ

1

Вы могли бы попробовать это (все происходит в jboss-deployment-structure.xml):

1) Включить подсистему Weld. В принципе, удалите это исключение: это implicit dependency, поэтому нет необходимости напрямую зависеть от него в любом модуле.

2) war s всегда следует рассматривать как изолированные, но чтобы быть действительно уверены, что вы могли бы добавить к этому:

<subsystem xmlns="urn:jboss:domain:ee:1.0" >    
    <ear-subdeployments-isolated>true</ear-subdeployments-isolated> 
</subsystem> 

3) Для устаревших war к югу от развертывания обеспечивают явное исключение для сварного шва.

4) Для всех остальных модулей обеспечивают явное исключение для Seam *

Я думаю, что вы уже проверили это, но:. Class Loading in WildFly


* Обновление на модуле исключения:

Если он по-прежнему предоставляется как модуль AS, вы должны найти его modules/, отметьте его 'module.xml для имени модуля, а затем используйте исключение:

<exclusions> 
    <module name="module_name" /> 
</exclusions> 

Если вы предоставите его в своей старой войне WEB-INF/lib/, тогда ничего не должно быть сделано. Я думаю. Или вы можете зарегистрировать его как модуль вручную, а затем исключить:

+0

Как добавить исключение для шва к подразделению в jboss-deployment-structure.xml? – mattalxndr

+0

Я обновил ответ об этом – arghtype

1

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

+1

Им нужно разделить состояние сеанса и данные аутентификации. – mattalxndr