0

将应用程序部署到 JBoss 服务器时,对于像 ojdbc14.jar (Oracle JDBC) 这样的 JAR,最好将此 jar 包含在部署的 ear 文件中,还是应该将其部署到 JBoss 的 server/default/lib 文件夹?

我得到的论点是应用程序需要支持全局事务,因此数据源必须在应用程序服务器级别定义(例如复制到 server/default/lib 文件夹),以便它可以与其他应用程序服务器通信,并且要发生这种情况,您需要应用服务器级别的驱动程序。

我想听听这里的正确方法是什么。谢谢。

4

2 回答 2

4

我相信这是正确的做法。

您通常会使用适当的配置文件在您的应用程序之外(EAR/WAR 之外)定义您的数据源,具体取决于您使用的应用程序服务器。而在 JBoss 上,您通常将配置添加到 XML 文件中,而使用 WebLogic,您可以直接使用管理控制台创建数据源。

鉴于此数据源将在服务器启动时创建,必要的库(在您的情况下为 ojdbc14.jar)必须在应用程序服务器的类路径上可用。

我还遇到了许可问题,即使用 3rd 方库会阻止您将其捆绑到应用程序中。

此外,在应用程序之外定义数据源意味着您不必在数据源配置需要更改时执行重建。

于 2012-09-07T13:02:18.137 回答
3

我这样做了很多次...

如果 jar 与 JDBC 有关,我总是将它放在文件夹中。server/default/lib

因为您的数据库驱动程序会在服务器启动后立即加载一次,而不是每次您部署/取消部署您正在处理的 Web 应用程序时。

您的数据源也可用于任何其他子项目,当您有一个用于集成测试的特定项目时,这将是一个很大的优势。

于 2012-09-07T13:02:34.243 回答