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