[英]spring ejb multiple context
我所涉及的場景涉及多個EJB jar和一個WAR,它們需要打包在一個EAR中。 該項目使用Spring。 最初,ejb罐子是分開部署的,戰爭也是如此。
每個ejb jar都有一個beanRefContext.xml,后者又引用一個配置xml,該xml具有為該ejb項目定義的bean。 每個ejb模塊都有其自己的dao和服務...服務被自動連接到無狀態EJB中。
戰爭還有[servlet-name] -servlet.xml,其中定義了bean以及注入Controller類的條目。
現在,由於存在多個beanRefContext.xml文件,因此在單個EAR上將它們打包在一起失敗。 我該如何完成? 因此作為POC:
mod1-ejb.jar具有beanRefContext.xml-加載mod1-context.xml(定義為在mod1中使用的bean)
mod2-ejb.jar具有beanRefContext.xml-加載mod2-context.xml(定義為在mod2中使用的bean)
mod-web.war具有webapp-servlet.xml ... war模塊具有“控制器”類,這些類利用了mod1-ejb和mod2-ejb中的ejb。 如何在單個EAR中完成這項工作? 使用單個EJB模塊和WAR模塊就可以了,因為只有一個beanRefContext.xml
每個ejb模塊也使用它自己的資源包,例如error.properties,message.properties等。
好的。 事實證明,您需要確保僅加載一個beanRefContext.xml。 因此,在任何ejb jar中都有一個beanRefContext.xml,並使用以下方法引用beanRefContext中的各個上下文配置文件:
<constructor-arg>
<list>
<value>mod1-context.xml</value>
<value>mod2-context.xml</value>
</list>
<constructor-arg>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.