A.2. context.xml

context.xml 文件是应用程序部署到 Apache Tomcat 服务描述文件。在部署的程序中,这个文件在 web 应用程序目录或者 WAR 文件的 META-INF 目录,比如 tomcat/webapps/app-core/META-INF/context.xml。在应用程序项目中,这个文件在 core, webportal 模块的 /web/META-INF 目录。

Middleware block 中,此文件的主要目的是用来定义带有 JNDI 名称的 JDBC 数据源,JNDI 名称定义在 cuba.dataSourceJndiName 应用程序属性中。

PostgreSQL 数据源定义示例:

  1. <Resource
  2. name="jdbc/CubaDS"
  3. type="javax.sql.DataSource"
  4. maxIdle="2"
  5. maxTotal="20"
  6. maxWaitMillis="5000"
  7. driverClassName="org.postgresql.Driver"
  8. username="cuba"
  9. password="cuba"
  10. url="jdbc:postgresql://localhost/sales"/>

Microsoft SQL Server 2005 数据源定义示例:

  1. <Resource
  2. name="jdbc/CubaDS"
  3. type="javax.sql.DataSource"
  4. maxIdle="2"
  5. maxTotal="20"
  6. maxWaitMillis="5000"
  7. driverClassName="net.sourceforge.jtds.jdbc.Driver"
  8. username="sa"
  9. password="saPass1"
  10. url="jdbc:jtds:sqlserver://localhost/sales"/>

Microsoft SQL Server 2008+ 数据源定义示例:

  1. <Resource
  2. name="jdbc/CubaDS"
  3. type="javax.sql.DataSource"
  4. maxIdle="2"
  5. maxTotal="20"
  6. maxWaitMillis="5000"
  7. driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
  8. username="sa"
  9. password="saPass1"
  10. url="jdbc:sqlserver://localhost;databaseName=sales"/>

Oracle 数据源定义示例:

  1. <Resource
  2. name="jdbc/CubaDS"
  3. type="javax.sql.DataSource"
  4. maxIdle="2"
  5. maxTotal="20"
  6. maxWaitMillis="5000"
  7. driverClassName="oracle.jdbc.OracleDriver"
  8. username="sales"
  9. password="sales"
  10. url="jdbc:oracle:thin:@//localhost:1521/orcl"/>

MySQL 数据源定义示例:

  1. <Resource
  2. type="javax.sql.DataSource"
  3. name="jdbc/CubaDS"
  4. maxIdle="2"
  5. maxTotal="20"
  6. maxWaitMillis="5000"
  7. driverClassName="com.mysql.jdbc.Driver"
  8. password="cuba"
  9. username="cuba"
  10. url="jdbc:mysql://localhost/sales?useSSL=false&amp;allowMultiQueries=true"/>

下面这一行禁用了 HTTP 会话的序列化:

  1. <Manager pathname=""/>