在将应用程序部署到JBoss服务器时,对于像ojdbc14.jar(Oracle JDBC)这样的JAR,最好将此jar包含在部署的ear文件中,还是应该将其部署到JBoss的server / default / lib中文件夹?
我给出的论点是应用程序需要支持全局事务,因此必须在应用程序服务器级别定义数据源(例如,复制到server / default / lib文件夹),以便它可以与其他应用程序服务器通信,为此,您需要在应用服务器级别使用驱动程序。
我想听听这里有什么正确的方法。感谢。
答案 0 :(得分:4)
我相信这是正确的做法。
您通常会使用相应的配置文件在应用程序之外(EAR / WAR之外)定义数据源,具体取决于您使用的应用程序服务器。而在JBoss上,您通常会将配置添加到XML文件,而使用WebLogic,您可以使用管理控制台直接创建数据源。
鉴于此数据源将在服务器启动时创建,必要的库(在您的情况下为ojdbc14.jar)必须在应用程序服务器的类路径上可用。
我也遇到过许可问题,使用第三方库会阻止您将其捆绑在应用程序中。
此外,在应用程序之外定义数据源意味着在数据源配置需要更改时不必执行重建。
答案 1 :(得分:3)
我已经这么多次了......
如果它有关于JDBC的内容,我将始终将jar放在server/default/lib
文件夹中。
因为一旦服务器启动就加载了数据库驱动程序,而不是每次部署/取消部署正在处理的Web应用程序。
您的数据源也可以用于任何其他子项目,当您有一个特定项目进行集成测试时,它将是一个很大的优势。