问题描述
在EJB 3.1中,可以使用不同的查找名称进行JNDI查找: java:global [/< app- name>] /< module-name> /< bean-name>!< fully-qualifiedbean interface-name>
java:global [/< app-name>] /< module-name> /< bean-name>
java:app /< module-name> /< bean-name>!< fully-qualified-bean-interface-name>
java:app /< module-name> /< bean-name>
java:module /< bean-name>!< fully-qualified-bean-interface-name>
java:module /< bean-name>
在我的JavaEE 6项目中(使用Maven 2,Netbeans 6和Glassfish v3) -Snapshot.ear和EJB-Module是Y-Snapshot.jar。我如何配置这个maven项目来使用另一个应用程序和模块名称?当这个名字改变时,我不想改变所有JNDI查找!那么是否可以为JNDI LookUps配置应用程序和模块名称?
天真的方法
Maven EAR Plugin允许,您可以使用 project.build.finalName
设置最终名称或EAR。
更好的方法
覆盖< application-name>
和 application.xml
和 ejb-jar.xml $>中的$ c>< module-name>
c $ c>。引用:
In EJB 3.1 JNDI Lookups can be made with different Lookup-Names:
java:global[/<app-name>]/<module-name>/<bean-name>!<fully-qualifiedbean interface-name>
java:global[/<app-name>]/<module-name>/<bean-name>
java:app/<module-name>/<bean-name>!<fully-qualified-bean-interface-name>
java:app/<module-name>/<bean-name>
java:module/<bean-name>!<fully-qualified-bean-interface-name>
java:module/<bean-name>
In my JavaEE 6 Project (with Maven 2, Netbeans 6 and Glassfish v3) the Application name is X-Snapshot.ear and the EJB-Module is Y-Snapshot.jar. How can i config this maven project to use another application and module name? I don't wnat to change all JNDI Lookups when this names change!! So is it possible to config application and module names for JNDI LookUps?
Naive approach
The Maven EAR Plugin allows to Customize A Module Filename and you can set the final name or the EAR using project.build.finalName
.
Much better approach
Override the <application-name>
and the <module-name>
in the application.xml
and the ejb-jar.xml
respectively. Quoting Portable Global JNDI name in EJB 3.1:
这篇关于我如何为JNDI查找配置模块和应用程序名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!