是否有一些Java应用服务器不通过JNDI支持JDBC数据源?
我知道他们这很常见。但由于它不是Java EE标准,因此无法保证它们实际上都提供了支持。
我要问的原因是调查我们正在制作的通用Web应用程序的系统要求的可行性。它应该可以在尽可能多的应用服务器上部署。
答案 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部分只是我想到的第一个。