java - 如何在启动时为在 Tomcat 9.x 中运行的 ADF 应用程序创建动态 JNDI 数据源
问题描述
我正在寻找一种在启动 ADF 应用程序时动态创建 JNDI 数据源的方法。我目前有一个多租户数据源解决方案,其中每个数据源都必须在 tomcat 的 application.xml 文件中配置。这是功能齐全的。但是,如果我们添加/删除数据源,我们需要在每台服务器上重新配置 application.xml 文件。我们正在寻找一种编程解决方案,以允许在应用程序启动时创建 JNDI 数据源,而不是从 application.xml 中读取。
我已经看到 Tomcat 有一个用于 enableNaming 的 api,允许在 tomcat 自身引导并启动后添加 jdni 数据源,默认情况下它是锁定的。但是我不确定如何在独立的 tomcat 实例中使用它。但我可以看到它如何在 spring boot 嵌入式 tomcat 解决方案中工作。但是,我无法成功让我们的 adf 应用程序作为 Spring Boot 应用程序运行。我们对 Spring 之间的不同版本的 El 存在问题,而 ADF 的要求就是不允许它以这种方式完全发挥作用。
我还尝试在 ADF 中为多租户指定查找数据源的位置,而不是在 java:comp/env/jdbc 中,而只是查看 xxx/yyy/jdbc 或者我命名它。因为我们可以动态创建数据源并将其放在上下文中的其他位置。但是,ADF 中似乎存在一些不完全支持标准 jdbc 上下文位置之外的数据源的东西。
任何帮助/建议将不胜感激。
解决方案
推荐阅读
- ios - 与文件应用程序共享应用程序文档中的特定目录
- c# - process.StandardOutput 仅检索部分数据
- list - 将 where 方法与 List 一起使用
- azure - Azure 上的 Terraform 公共 IP 输出
- firebase - 使用 Firebase Auth 通过 gapi SDK 访问 google API 时遇到问题
- python - AWS Sagemaker,InvokeEndpoint 操作,模型错误:“使用序列设置数组元素。”
- excel - 在布尔值中添加 OR 语句
- sql - 为什么从日期时间到 varchar 的 CAST 在一个环境中工作而不在另一个环境中工作?
- syntax - “F: FnOnce(&mut Resource
) -> R + 'static” 中的“R + 'static” 语法是什么意思? - javascript - 等效于 .each 和 .attr 的 javascript 原生