所有Java应用程序服务器都支持JNDI数据源吗?

时间:2015-08-28 09:18:05

标签: java-ee jdbc datasource jndi java-ee-6

是否有一些Java应用服务器通过JNDI支持JDBC数据源?

我知道他们这很常见。但由于它不是Java EE标准,因此无法保证它们实际上都提供了支持。

我要问的原因是调查我们正在制作的通用Web应用程序的系统要求的可行性。它应该可以在尽可能多的应用服务器上部署。

2 个答案:

答案 0 :(得分:0)

有趣的是,我使用容器管理的东西,比如数据源,以确保应用程序可以是通用的,并且可以在尽可能多的应用程序服务器上进行部署。 Java EE供应商可移植性的目标。

(我在公共部门咨询客户,我使用它来帮助他们在供应商之间移动并升级旧系统,对我来说总是很好。)

例如,JSR 316 / Java EE 6规范中的

讨论了许多领域的JNDI以及EE.2.7.6节中的JDBC以及EE.2.7.7节中的JPA。

数据源本身是Java SE的一部分。假设某个应用程序服务器供应商没有包含JDBC数据源的资源适配器,他们仍然必须提供JPA,他们仍然必须提供JCA,因此可以在市场之后添加这样的资源适配器。

早在java EE中,我通过添加资源适配器来配置JMS,因为默认情况下它没有安装。但供应商仍提供它,当时服务器实际上并未获得Java EE许可。

答案 1 :(得分:0)

是的,如果应用服务器是Java EE投诉,那么它支持使用JNDI查找数据源。

Here is a link to all of the Java EE complaint app servers

<强> 来源:
Java EE7规范的EE.15.19部分,描述了默认数据源的要求。

  

Java EE产品提供程序必须使 JNDI 名称java:comp / DefaultDataSource下的应用程序可以访问默认数据源。

该规范还引用了使用JNDI在许多其他地方查找数据源,EE.15.19部分只是我想到的第一个。