返回介绍

3.4. 配置 JNDI 数据源

发布于 2023-09-17 23:40:35 字数 1455 浏览 0 评论 0 收藏 0

默认情况下,Flowable的数据库配置保存在每个web应用WEB-INF/classes文件夹下的db.properties文件中。有时这样并不合适,因为这需要用户修改Flowable源码中的db.properties文件并重新编译war包,或者在部署后解开war包并修改db.properties文件。

通过使用JNDI(Java Naming and Directory Interface,Java命名和目录接口)获取数据库连接,连接就完全交由Servlet容器管理,并可以在WAR部署之外管理配置。同时也提供了比db.properties中更多的控制连接的参数。

3.4.1. 配置

根据你使用的servlet容器应用不同,配置JNDI数据源的方式也不同。下面的介绍用于Tomcat,对于其他容器应用,请参考对应的文档。

Tomcat的JNDI资源配置在$CATALINA_BASE/conf/[enginename]/[hostname]/[warname].xml (对于Flowable UI通常会是$CATALINA_BASE/conf/Catalina/localhost/flowable-app.xml)。当应用第一次部署时,默认会从Flowable war包中复制context.xml。所以如果存在这个文件则需要替换。例如,如果需要将JNDI资源修改为应用连接MySQL而不是H2,需要如下修改:

<?xml version="1.0" encoding="UTF-8"?>
  <Context antiJARLocking="true" path="/flowable-app">
    <Resource auth="Container"
      name="jdbc/flowableDB"
      type="javax.sql.DataSource"
      description="JDBC DataSource"
      url="jdbc:mysql://localhost:3306/flowable"
      driverClassName="com.mysql.jdbc.Driver"
      username="sa"
      password=""
      defaultAutoCommit="false"
      initialSize="5"
      maxWait="5000"
      maxActive="120"
      maxIdle="5"/>
    </Context>

3.4.2. JNDI参数

在Flowable UI的配置文件中使用下列参数配置JNDI数据源:

  • spring.datasource.jndi-name=: 数据源的JNDI名

  • datasource.jndi.resourceRef: 设置是否在J2EE容器中查找。也就是说,如果JNDI名中没有包含"java:comp/env/"前缀,是否需要添加它。默认为"true"。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文