JDBC 连接文件可以包含计算属性吗?

2023-12-28

在《XPage Extension Library》一书中,第12章,第409页有一个JDBC连接文件的示例:

<jdbc>
    <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
    <url>jdbc:derby:${rcp.data}\derby\XPagesJDBC;create=true</url>
    <user>phil</user>
    <password>phil</password>
</jdbc>

文中还提到“注意前面示例中配置属性的使用rcp.data在计算表达式 ${rcp.data} 中。连接文件可以利用计算属性在他们的定义中。”

我的问题是:这些“计算属性”到底是什么以及它们如何使用?我想将用户名和密码存储在其他地方并使用如下方式引用它们:

<user>${SettingsBean.SQLUserName}</user>
<password>${SettingsBean.SQLPassword}</password>

但是,我无法让它发挥作用。这是我到目前为止所尝试过的:

  1. 托管bean
  2. 变量解析器
  3. 资源包
  4. 直接通过 java.util.Properties 写入连接文件

1 到 3 在 XPage 中引用时有效,但在此文件中无效。如果连接文件是“key=value”类型,则第 4 种方法可行。但是,java.util.Properties 不能与不符合特定 DTD 的 XML 文件(如本文件)一起使用。并且不支持写入整个文件(在WEB-INF下)。

EDIT:

一些附加信息:

  • 上面的内容来自 XPageJDBC.nsf(来自 OpenNTF),而不是来自第 409 页中的图像。该页面上的文本似乎引用了此代码。
  • XPageJDBC.nsf 在其他地方不包含单词“rcp.data”,至少它不会出现在搜索中。
  • 如果用户名是硬编码的,则 JDBC 连接可以正常工作。
  • SQL 错误消息看起来像这样:Unknown user: "${SettingsBean.SQLUserName}"这似乎意味着该连接文件是“按原样”使用的。

我猜测“rcp”是对富客户端平台环境对象变量的引用,也许.data是指向WEB-INF目录的属性。

文档中肯定有一些像这样无法解释的言论在嘲笑我们。我在 Lotus Expeditor 文档中看到一些类似的内容(例如 ${rcp.*} )http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/index.jsp?topic=/com.ibm.rcp.tools.doc.admin/updatingclientconfigurationsusingmanualupdates.html http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/index.jsp?topic=/com.ibm.rcp.tools.doc.admin/updatingclientconfigurationsusingmanualupdates.html- 检查出。我在那里发现了这个小宝石:

Lotus Expeditor 平台使用系统属性 rcp.data 来标识工作区的位置。

文件 f = new File( System.getProperty( "rcp.data" ) );

据我所知,这些变量字符串可以访问操作系统环境变量和加速器属性变量。这些东西如何移植到 domino/XPage 系统中还没有记录,但 Expeditor 团队中的许多人现在都在 XSP 团队中。以下是我可以在 Expeditor 文档中找到的线索:

占位符${env.”系统环境变量”}用于指定>系统环境变量的使用。

占位符 ${prop.”rcplauncher_property”} 用于指定使用 rcplauncher.properties 中的属性 >。

因此,也许您可​​以将凭据放入 rcplauncher.properties 中,并通过 ${prop.*} 变量引用它们。

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

JDBC 连接文件可以包含计算属性吗? 的相关文章

  • 超时后如何重新建立 JDBC 连接?

    我有一个长时间运行的方法 它通过 EntityManager TopLink Essentials 执行大量本机 SQL 查询 每个查询只需要几毫秒即可运行 但查询数量却有数千个 这发生在单个 EJB 事务内 15 分钟后 数据库关闭连接
  • 按分区“内”键进行高效分组

    我正在尝试调整一个流程来激发火花 基本上 该过程分析来自 JDBC 数据源的批量数据 每条记录都有一个batchId 还有一个更高级别的groupId 批次数量较大 提前未知 组数约为 100 RAM 中可以容纳每个批次的记录数 实际的分析
  • Tomcat 连接池与准备好的语句缓存

    从 DBCP 连接池升级到 Tomcat 自己的实现 基于优秀的比较here http tomcat apache org tomcat 7 0 doc jdbc pool html Introduction 我有点困惑为什么他们放弃了这两
  • OutputStream 到 DB2 数据库表的 BLOB 列

    在 DB2 数据库中 我有下表 CREATE TABLE MyTestTable MYPATH VARCHAR 512 NOT NULL MYDATA BLOB CONSTRAINT MYTESTTABLE PK PRIMARY KEY M
  • hive查询无法通过jdbc生成结果集

    我是 Hive 和 Hadoop 的新手 在我的教程中 我想将表创建为 import java sql SQLException import java sql Connection import java sql ResultSet im
  • 如何在java中执行复合sql查询?

    如何执行以下查询并通过准备好的语句检索结果 INSERT INTO vcVisitors sid VALUES SELECT LAST INSERT ID 有没有办法同时执行这两个语句 我尝试执行以下操作 Connection con Db
  • 在 Android 中使用 SQL (JDBC) 数据库

    在旧的 Java 应用程序中 我使用以下代码连接到 SQL 数据库并将其用于某些查询 private Connection dbConnection null System setProperty derby system home C C
  • 使用 JPype - 如何访问 JDBC 元数据函数

    我在用着杰 德贝API https launchpad net jaydebeapi它使用 JPype 加载 FileMaker 的 JDBC 驱动程序并提取数据 但我也希望能够获取所有表的列表在数据库中 In the JDBC 文档 ht
  • 我可以在 dojo 手风琴中打开特定条目吗?

    我想在应用程序的左侧导航中放置链接 打开 xPage 并选择特定的手风琴条目 不知道该怎么做 有什么想法吗 我在这里假设您想以编程方式执行此操作 看看这个答案 https stackoverflow com a 1190455 104799
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • Oracle JDBC 预取:如何避免 RAM 不足/如何使 oracle 更快高延迟

    使用 Oracle java JDBC ojdbc14 10 2 x 加载包含多行的查询需要很长时间 高延迟环境 这显然是 Oracle JDBC 中的默认预取默认大小 10 每 10 行需要一次往返时间 我正在尝试设置一个激进的预取大小来
  • 我应该使用 JDBC getNString() 而不是 getString() 吗?

    我们正在构建一个由 Oracle 数据库支持的 Java 应用程序 我们使用 JDBC 驱动程序 访问该数据库ojdbc6 jar and orai18n jar 数据库模式主要使用以下方式存储文本列NVARCHAR2数据类型 The JD
  • Xpages 让 Select 2 与当前扩展库一起使用

    我已经安装了最新的扩展库 并正在使用 Bootstrap 构建 Xpages 应用程序 Select 2 不包含在当前的 Ext Lib 中 它包含在 Xpages4Bootstrap 中 虽然这是一个很好的扩展 但我不确定我是否真的应该包
  • Microsoft JDBC 中的 JTDS 属性相当于什么?

    我正在将 JTDS 连接更改为 Microsoft JDBC 并且我看到存在于http jtds sourceforge net faq html http jtds sourceforge net faq htmlMicrosoft JD
  • 复杂的 Xpage 部分刷新需要很长时间

    我有一个复杂的 xpage 其中有很多嵌套的自定义控件 每次我执行部分刷新都需要超过 4 秒才能完成 如果我消除了复杂性 它就可以正常工作并且速度如您所愿 我对这个复杂的 Xpage 进行了测试 即使使用部分执行模式 这个简单的测试也需要
  • ZeroDateTimeBehavior=convertToNull 在使用 hibernate 的 jdbc url 中不起作用

    通过 extern 属性文件 url 指定如下 jdbc mariadb xxxxx 3306 xxxxx zeroDateTimeBehavior convertToNull 连接工作正常并且能够查询数据库 通过休眠 我创建了一个映射到带
  • 如何获取 JDBC 中 UPDATE 查询影响的所有行?

    我有一项任务需要使用更新记录PreparedStatement 一旦记录被更新 我们知道更新查询返回计数 即受影响的行数 但是 我想要的不是计数 而是受更新查询影响的行作为响应 或者至少是受影响的行的 id 值列表 这是我的更新查询 UPD
  • 通过 JDBC 连接到 DB2 时的用户和密码

    我正在尝试连接到本地 DB2 10 5 Express C 服务器 这是一个测试环境 所以我不关心安全性 我能够连接到命令行处理器 在 Windows 上运行 并且我更改了配置设置AUTHENTICATION CLIENT and TRUS
  • 未由 SQLite JDBC 驱动程序实现

    我已经使用以下命令成功创建了 SQLite 数据库的 ColdFusion 数据源sqlitejdbc v056 jar http code google com p sqlitebot downloads detail name sqli

随机推荐