在WildFly中将JDBC驱动程序作为模块安装有哪些优点

在WildFly中将JDBC驱动程序作为模块安装有哪些优点,jdbc,jboss,jboss7.x,wildfly,wildfly-8,Jdbc,Jboss,Jboss7.x,Wildfly,Wildfly 8,这就解释了WildFly的新特性。在迁移数据库连接->JDBC驱动程序下,本文介绍了为应用程序使用JDBC驱动程序的两种方法。我试着把它作为一个模块安装,效果很好。问题是哪种方法更好,什么时候更好,是将其作为任何其他应用程序包部署还是作为模块安装? (我注意到将其作为模块安装是群集环境所必需的。我正在寻找,还有其他原因吗?我认为指向您所引用文章的正确链接是: (另一个似乎没有指向你提到的文章) 下面是您正在引用的“迁移数据库连接”部分中有趣的部分: 在WildFly上,安装JDBC驱动程序有两种

这就解释了WildFly的新特性。在
迁移数据库连接->JDBC驱动程序
下,本文介绍了为应用程序使用JDBC驱动程序的两种方法。我试着把它作为一个模块安装,效果很好。问题是哪种方法更好,什么时候更好,是将其作为任何其他应用程序包部署还是作为模块安装?

(我注意到将其作为模块安装是群集环境所必需的。我正在寻找,还有其他原因吗?

我认为指向您所引用文章的正确链接是: (另一个似乎没有指向你提到的文章)

下面是您正在引用的“迁移数据库连接”部分中有趣的部分:

在WildFly上,安装JDBC驱动程序有两种方法:是否 您可以将其作为任何其他应用程序包进行部署,也可以将其作为应用程序包进行安装 模块。您总是可以选择部署驱动程序,但它是专门设计的 建议使用群集环境,因为部署 在服务器组中自动传播。 如果驱动程序不可用,您可能会遇到部署问题 JDBC4兼容。在这种情况下,将驱动程序作为模块安装 解决这些问题。JDBC驱动程序作为一个模块的优点是 为用户创建自定义WildFly捆绑包的可能性 组织。这样,您可以重复完全相同的安装 在多台机器中,保持相同的配置。这 非常适合开发环境

因此,在本节中,作者介绍了以下优点:

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

以下Wildfly也描述了这一点:

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


因此,在驱动程序不符合JDBC-4的情况下,将其作为模块部署要比将其作为任何其他应用程序包部署容易。(因为您必须修改和重建JDBC-4不兼容的jar,才能将其作为任何其他应用程序包部署)

您能在回答中提供更多的背景和/或描述吗?我更新了我的回答,其中一个原因解释了为什么您应该使用模块而不是直接部署驱动程序。另外,将其作为模块安装会将所需的JDBC实现与应用程序分开。例如,您可以在不重建应用程序的情况下升级JDBC驱动程序。@ozOli,我想您误解了这个问题(正如我最初读到的那样),因为在参考文章中,“作为任何其他应用程序包”的方法并不意味着JDBC驱动程序嵌入到应用程序包中。这只意味着你可以将它作为任何其他.war、.jar包直接部署到应用服务器,因此它可用于数据源配置。除此之外,我认为为了使用XA事务,需要在应用服务器上安装驱动程序。