在WildFly中将JDBC驱动程序安装为模块有什么好处

时间:2015-02-24 10:44:16

标签: jdbc jboss jboss7.x wildfly wildfly-8

这个link解释了WildFly的新功能。在Migrating The Database Connection -> JDBC Driver下,本文解释了为应用程序使用jdbc驱动程序的两种方法。我尝试将其作为模块安装,它工作正常。问题是哪种方式更好,何时更好,whether deploy it as any other application package or install it as a module? (我注意到将它作为模块安装对于集群环境是必要的。我在寻找,还有其他原因吗?)

1 个答案:

答案 0 :(得分:2)

我认为您引用的文章的正确链接是这一个:http://wildfly.org/news/2014/02/06/GlassFish-to-WildFly-migration/ (另一个似乎没有指出你提到的那篇文章)

以下是来自"迁移数据库连接的有趣部分"你引用的部分:

  

在WildFly上,您有两种安装JDBC驱动程序的方法:是否   您将其部署为任何其他应用程序包,或者将其安装为   模块。您可以随时选择部署驱动程序,但这是特别的   自部署以来,建议您拥有群集环境   在服务器组中自动传播。   如果驱动程序没有,您可能会遇到部署问题   JDBC4兼容。在这种情况下,将驱动程序安装为模块   解决了这些问题。 JDBC驱动程序作为模块的优点是   为您创建自定义WildFly捆绑包的可能性   组织。这样,您可以重复完全相同的安装   在几台机器上,保留相同的配置。这个   非常适合开发环境。

因此,在本节中,作者描述了以下优点:

  

如果驱动程序不符合JDBC4,则可能会遇到部署问题。在这种情况下,将驱动程序作为模块安装可以解决这些问题。

以下Wildfly documentation也对此进行了描述:

  

任何符合JDBC 4的驱动程序都将自动识别并按名称和版本安装到系统中。使用Java服务提供程序机制标识JDBC JAR。此类JAR将包含一个名为META-INF / services / java.sql.Driver的文本文本,该文件包含该JAR中存在的驱动程序类的名称。如果JDBC驱动程序JAR不符合JDBC 4,则可以通过以下几种方式之一进行部署。 (...)

因此,将驱动程序部署为模块比将其部署为任何其他应用程序包更容易,以防它不符合JDBC-4。 (因为您必须修改和重建JDBC-4不兼容的jar以将其部署为任何其他应用程序包)