gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:20:37 25 4
gpt4 key购买 nike

在“XPages 扩展库”一书中,第 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>

但是,我无法让它发挥作用。这是我迄今为止尝试过的:
  • 托管 bean
  • 变量解析器
  • 资源包
  • 直接和通过 java.util.Properties 写入连接文件

  • 1 到 3 在 XPage 中引用时有效,但在此文件中无效。如果连接文件是“key=value”类型,数字 4 将起作用。但是,java.util.Properties 不能用于不符合特定 DTD(如这个文件)的 XML 文件。并且不支持写入整个文件(在 WEB-INF 下)。

    编辑:

    一些附加信息:
  • 上面的部分来自 XPagesJDBC.nsf(来自 OpenNTF)而不是来自第 409 页的图像。该页面上的文本似乎引用了此代码。
  • XPagesJDBC.nsf 在其他地方不包含“rcp.data”这个词,至少它没有出现在搜索中。
  • 如果用户名是硬编码的,则 JDBC 连接可以完美运行。
  • SQL 错误消息如下所示:Unknown user: "${SettingsBean.SQLUserName}"这似乎暗示这个连接文件是“按原样”使用的。
  • 最佳答案

    我猜“rcp”是对富客户端平台环境对象变量的引用,也许 .data 是指向 WEB-INF 目录的属性。
    文档肯定会在像这样无法解释的评论的地方 mock 我们。我在 Lotus Expeditor 文档 http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/index.jsp?topic=/com.ibm.rcp.tools.doc.admin/updatingclientconfigurationsusingmanualupdates.html 中看到了一些类似的东西(如 ${rcp.*} ) - 检查出。我在那里发现了这个小 gem :

    the Lotus Expeditor platform uses the System property rcp.data to identify the location >of the workspace.

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


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

    The placeholder ${env.”system environmental variable”} is used to specify the use of a >system environmental variable.

    The placeholder ${prop.”rcplauncher_property”} is used to specify the use of a property >from rcplauncher.properties.


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

    关于jdbc - JDBC 连接文件可以包含计算属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16938384/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com