本文介绍了我如何为JNDI查找配置模块和应用程序名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在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查找配置模块和应用程序名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-24 22:02