Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 使用JNDI资源名创建可移植的J2EE应用程序以进行池化_Jakarta Ee_Datasource_Jndi_Connection Pooling_Portability - Fatal编程技术网

Jakarta ee 使用JNDI资源名创建可移植的J2EE应用程序以进行池化

Jakarta ee 使用JNDI资源名创建可移植的J2EE应用程序以进行池化,jakarta-ee,datasource,jndi,connection-pooling,portability,Jakarta Ee,Datasource,Jndi,Connection Pooling,Portability,我正在准备一个J2EE web应用程序,希望它能够打包并作为war文件出售给客户。每个客户端将把包部署到其首选的应用程序服务器中,并将应用程序与其首选的数据源一起使用 我想知道定义到数据源的必要映射的最佳可移植方式是什么 应用程序使用EclipseLink JPA持久性提供程序。入口点类似于: @PersistenceContext(unitName = "myPersistenceUnit") private EntityManager em; myPersistenceUnit在persi

我正在准备一个J2EE web应用程序,希望它能够打包并作为
war
文件出售给客户。每个客户端将把包部署到其首选的应用程序服务器中,并将应用程序与其首选的数据源一起使用

我想知道定义到数据源的必要映射的最佳可移植方式是什么

应用程序使用EclipseLink JPA持久性提供程序。入口点类似于:

@PersistenceContext(unitName = "myPersistenceUnit")
private EntityManager em;
myPersistenceUnit
persistence.xml
中描述如下:

  <persistence-unit name="myPersistenceUnit" transaction-type="JTA">
    <jta-data-source>myDataSource</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties/>
  </persistence-unit>

myDataSource
假的

现在我的猜测是,我需要以某种方式将
myDataSource
映射到应用服务器JNDI资源名称,但我不知道如何做。如果我在GlassFish服务器上使用NetBeans自动生成的代码,它将为此创建GlassFish-resources.xml描述符。这种方法可以工作,但不能移植到其他应用程序服务器,并且会产生连接池属性(已在应用程序服务器中定义)的副本。

使用相对JNDI映射并将它们链接到web.xml中

您必须在web.xml中创建资源引用条目

根据应用程序服务器的不同,web.xml中的资源引用条目也可以。其他人可能需要额外的文件

检查web.xml部分的示例

http://wiki.eclipse.org/Jetty/Howto/Configure_JNDI_Datasource

是的,这就是重点,但我找不到任何关于它的示例或教程……我只是四处寻找一些示例。:)