Tomcat 9 中需要两个共享数据库的服务

2023-12-10

我想在两个端口(8080,8181)上使用不同的代码库运行两个tomcat服务,但共享相同的数据库资源。当我这样做时,我得到“javax.naming.NameNotFoundException:名称 [comp/env/jdbc/mydb] 在此上下文中未绑定。无法找到 [comp]。”当它尝试初始化第二个服务时。

我的服务在 server.xml 中如下所示:

  ...
  <GlobalNamingResources>
    <Resource auth="Container" name="jdbc/mydb" url="jdbc:db2://myserver:50000/mydb" username="xxx" password="xxx" .... />           
  </GlobalNamingResources>
...
 <Service name="Catalina8080">
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
....
      <Host name="localhost"  appBase="webapps8080" unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" .... />
      </Host>
    </Engine>
  </Service>
 <Service name="Catalina8181">
    <Connector port="8181" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" />
    <Engine name="Catalina" defaultHost="localhost">
....
      <Host name="localhost"  appBase="webapps8181" unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" .... />
      </Host>
    </Engine>
  </Service>

我的服务器级上下文文件如下所示:

<Context>
...
<ResourceLink name="jdbc/mydb" global="jdbc/mydb" type="javax.sql.DataSource" />
</Context>

我尝试在应用程序级别上下文文件中添加和删除资源链接,但似乎没有任何改变结果。任何想法都将不胜感激。


你应该更改名称你的<Engine>在第二个服务中:每个组合只能有一个命名上下文发动机名称, 主机名 and 上下文名称.

在你的情况下,组合(Catalina, localhost,您的应用程序名称)可能会出现两次,因此您应该能够找到如下条目:

SEVERE [main] naming.namingContextCreationFailed

在日志中,JNDI 在第二个上下文中不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tomcat 9 中需要两个共享数据库的服务 的相关文章

  • 在 Yii2 中从数据库中多态查找模型

    我在数据库 mysql 中有一张表 但该表存储了几种略有不同类型的行 类型取决于此表的type柱子 我有一个表的抽象 ActiveRecord 类和几个后代子类 它们为不同类型的同一表的行实现略有不同的逻辑 现在我正在为所有类型的行实现更新
  • 有什么方法可以在MySQL中的表名位置使用变量吗?

    我想在表名称位置使用变量 例如 SELECT FROM targetTableName 然而它会出错 有什么方法可以在MySQL中的表名位置使用变量吗 您显示的查询不起作用有两个原因 插入到查询中的用户定义变量将被视为使用字符串文字 而不是
  • 将歌词存储在 MySQL 数据库中

    我想知道在 mysql 数据库中存储音乐 歌词 的最佳方式是什么 以及用于此目的的设置是什么 另外 我想要表格来存储断线 我正在考虑使用 指示新行并使用 php 替换字符串 我不知道从哪里开始 或者使用什么参数 varchar int 我知
  • MySQL max_allowed_pa​​cket 参数有什么问题?

    我需要增加 max allowed pa cket 参数 以适应一些理论上非常大的项目 如果我将此参数设置为 10M 那么与设置为 1M 或 4M 相比 我要支付什么价格 如果有的话 感谢您的任何意见 托马斯 我找到了这个解释 http w
  • 尝试加载自定义配置时,Visual Studio 安装和部署项目中出现 FileNotFoundException

    我试图在我的设置和部署项目中调用自定义操作来更新我的应用程序上的 app config 中的某些项目 我已经以通常的方式完成了自定义配置部分 例如 ConfigurationProperty serviceProvider IsRequir
  • 尝试在 android 中更新 sqlite 数据库时出错

    我的数据库正在运行 但我插入的所有记录都是为了检查目的 现在我想删除所有表并创建新表 所以我尝试通过更改版本来更新数据库 我没有对创建表查询进行任何更改 但外键约束失败 代码 787 这是我的DBHelper class private s
  • System.IndexOutOfRangeException:索引超出了数组的范围[重复]

    这个问题在这里已经有答案了 我正在开发一个 ATM 软件作为家庭作业 我想知道今天处理的交易总量 为此我编写了以下代码 public decimal getDayTransaction int accountid string date s
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • 无法访问属性的默认字段

    我在将应用程序部署到 tomcat 时遇到问题 它以前可以工作 但我格式化了我的计算机 它就停止工作了 我的 pom xml
  • 当请求来自网络服务器而不是网络浏览器时,HTTPSession 的创建如何工作?

    我有一个非常基本的问题 HTTPSession 的创建是如何工作的 我知道你们会因为我把这个问题视为类似的问题而解雇我 存在问题 但是我问这个问题是有原因的 我知道 httpsession 是 Web 浏览器所独有的 当我们第一次执行 Ht
  • 第一次如何配置postgresql?

    我刚刚安装了 postgresql 并在安装过程中指定了密码 x 当我尝试做的时候createdb并指定我收到消息的任何密码 createdb 无法连接到数据库 postgres 致命 用户密码身份验证失败 同样适用于createuser
  • 带嵌入式 tomcat 的 spring-boot 不会将请求分派到控制器

    我有一个使用 spring boot 和嵌入式 Tomcat 容器的应用程序 据我所知 我的代码与 spring boot 相同示例项目 https github com spring projects spring boot tree m
  • 如何注册 org.springframework.integration.monitor.IntegrationMBeanExporter

    根据http www ibm com support knowledgecenter en SS7K4U 8 5 5 com ibm websphere nd multiplatform doc ae cspr data access tr
  • iPhone只能使用SQLite数据库吗?

    iPhone 可以使用 SQLite 之外的其他数据库吗 比如 MySQL iPhone 只能直接在设备上使用 SQLite 作为数据库 这意味着 iPhone 内部没有 MySQL 服务器 但是您可以并且可以自由地拥有 您自己的 MySQ
  • Tomcat 7 停止接收 HTTP 请求

    我有一个Tomcat 7接收大量数据的服务器GET 要求 这种方法在一段时间内效果很好 然后突然停止工作 7 8 小时后 当它停止工作时 我收到此错误 五月 06 2015 12 47 58 AM org apache coyote htt
  • 使用Keycloak保护Tomcat应用程序时出现HTTP 403禁止错误

    我为这个错误苦苦挣扎了一整天 我一遍又一遍地检查我在tomcat中Keycloak和APP的配置 没有发现错误 下图为测试场景 APP配置 1 Keycloak json是从Keycloak控制台复制的 2 context xml 也正确
  • 在 StackOverflow 克隆中,评论表与问题和答案应该有什么关系?

    在我正在构建的类似于 StackOverflow 的应用程序中 我试图确定我的关系Questions Answers and Comments表应该有 我本可以有Questions and Answers两者都由一个表表示Posts 那将允
  • 如何知道 Solr Optimize 何时完成?

    我正在使用 Solr php client 通过 php 与 Solr 进行通信 这段代码触发solr优化命令 solr gt optimize 请问有没有什么方法可以确定优化完成了 这都是因为我的网站上有一个管理页面 我每天必须手动优化
  • 表中主键的最佳实践是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在设计表时 我养成了一种习惯 即有一列是唯一的 并且我将其作为主键 根据要求 可以通过三种方式实现 自动递增的标识整数列 唯一标识符 GUID
  • 具有重复值的 Sqlite 列

    就说专栏吧aSQLite 数据库的非常重复 始终有相同的 4 个值 其他值可能稍后出现 但不同值的数量将少于 1000 个 VALUES hello world it s a shame to store this str many tim

随机推荐