【问题标题】:Derby included in Tomcat WebappDerby 包含在 Tomcat Webapp 中
【发布时间】:2015-01-09 03:28:13
【问题描述】:

我的 Web 应用程序连接到 Derby 数据库 - 好的。

我的 Web 应用程序和 Derby 分别安装在我的 Tomcat 7 服务器中 - 好的

Derby 是使用正在部署的 derby.war 文件安装的,我将 derby*.jar 文件移动到 Tomcat lib 目录中。

通过将 war 文件导出到 Tomcat webapps 目录来部署我的 Web 应用程序。

我想部署 Derby 而不必将 jar 放入 Tomcat lib 目录 - 这在生产环境中可能是个问题。

我的问题是/是

是否可以修改 derby.war 文件? - 我尝试添加一个WEB-INF/lib 目录并将derby*.jar 文件放在那里并重新部署它。这不起作用,它实际上删除了 jars 和 lib 目录。也许我需要做点别的?

或者

有没有办法将 derby jar 文件和 derby web.xml 包含到我自己的 Web 应用程序中?我尝试了这个但没有生气,因为我的第一次尝试引起了一些问题,所以我很快就惊慌失措地退缩了。

现在我要向大家承认,我在不使用 Tomcat lib 目录的情况下部署 Derby 的尝试有点仓促,我本可以花更多时间研究它。但我暂时无法访问该开发系统,我想我想问一下这是否可以/已经由任何人完成。

特雷弗

【问题讨论】:

  • 有趣的问题。

标签: java tomcat derby


【解决方案1】:

您使用 tomcat 数据源连接到 derby?我认为如果您直接使用 jdbc(使用 c3p0 或 tomcat 池在 webapp 中初始化连接池),在 WEB-INF/lib 中包含 derby jar 可能没有问题。您现在可以使用嵌入式 derby 驱动程序。如果您需要 derby 网络服务器,可以使用 ContextListener 启动它,或者如果您使用的是 spring,则可以在 spring 上下文中配置数据源。

【讨论】:

  • 是的,我正在使用数据源连接到 Derby。
  • war中嵌入derby需要使用jdbc。在war中使用c3p0或者tomcat pool来发起连接池即可,推荐使用ContextListener。
  • 附带说明...如果我使用 Derby 嵌入式服务器而不是网络服务器,这会影响性能吗?
  • 如果数据不是很大,我认为使用嵌入式服务器很好。如果数据库很大,你应该使用单独的 derby 进程(即网络服务器)。
  • 谢谢Sanigo,我也是这么想的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-01
  • 2013-10-26
  • 2010-10-25
  • 1970-01-01
  • 2021-07-22
  • 2017-03-28
  • 2014-06-17
相关资源
最近更新 更多