2013-10-07 2 views
0

Мой -jar.xml EJB, содержащиеся в моей войне не загружается, когда я упаковать его внутри .ear , что я использую на JBoss-EAP-6.0.0/maven3Как включить EJB-jar.xml в .war

Вот что мой .ear файл содержит:

-- lib/other.jar 
-- mesejbs.jar (with META-INF/ejb-jar.xml) 
-- monwar.war (with WEB-INF/ejb-jar.xml) 

Вот mesejbs.jar/META-INF/EJB-jar.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> 

    <interceptors> 
     <interceptor> 
      <interceptor-class>monpackage.ejb.log.LogInterceptor</interceptor-class> 
     </interceptor> 
    </interceptors> 

    <assembly-descriptor> 
     <interceptor-binding> 
      <ejb-name>*</ejb-name> 
      <interceptor-class>monpackage.ejb.log.LogInterceptor</interceptor-class> 
     </interceptor-binding> 
    </assembly-descriptor> 
</ejb-jar> 

LogInterceptor успешно вызван.

Вот monwar.war/WEB-INF/EJB-jar.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> 

    <interceptors> 
     <!-- default interceptors --> 
     <interceptor> 
      <interceptor-class>monpackage.web.interceptors.SecurityInterceptor</interceptor-class> 
     </interceptor> 
    </interceptors> 

    <assembly-descriptor> 
     <interceptor-binding> 
      <ejb-name>*</ejb-name> 
      <interceptor-class>monpackage.web.interceptors.SecurityInterceptor</interceptor-class> 
     </interceptor-binding> 
    </assembly-descriptor> 
</ejb-jar> 

но SecurityInterceptor никогда не вызывается!

Как активировать SecurityInterceptor?

+0

Взгляните сюда http://stackoverflow.com/questions/3336727/ejb-3-1 -application-deployed-as-war-only-what-about-ejb-jar-xml – rdcrng

+0

Да, но мой ejb-jar.xml находится в каталоге WEB-INF! Если я упакую .war, все будет правильно. Но мне нужно упаковать ухо :( – jboz

+0

Извините, если я неправильно понял. – rdcrng

ответ

0

Я понял свою проблему. Это не было du ejb-jar.xml в войне. Это правильно. Это не CDI, который не включен для ejbModule и webModule. Вот некоторые объяснения: https://issues.jboss.org/browse/WELD-778

так что я просто кладу ejbModule в моем WebModule так:

-- lib/other.jar 
-- monwar.war (with WEB-INF/ejb-jar.xml) 
    -- WEB-INF/lib/mesejbs.jar (with META-INF/ejb-jar.xml) 
Смежные вопросы