1

我开发了一个 XPages 应用程序,可以访问 Anonymous 来查询实时库存。一切运行良好 所以我创建了带有驱动程序JTOpen的 OSGI 包来访问 DB2 AS400 (iSeries) 数据库 当您打开页面时,一切都很顺利。当有用户不活动时出现问题(图标化 Windows 浏览器并重新打开 xpages)

我使用不同的编辑框、组合框在部分刷新模式下执行 SQL 查询来过滤和搜索 DB2 Iseries。

我的问题是,在几分钟不活动后,我注意到组合框不再起作用,而且似乎是秋季 JDBC 连接(我已经为 Ping 激活了 keepalive 功能)

...但我不知道如何调试这个可能的 JDBC 异常。

有没有人有任何想法?

这是我在 WebContent-->WEB-INF-->jdbc 下的 as40.jdbc 文件

<jdbc type="simple">
    <driver>com.ibm.as400.access.AS400JDBCDriver</driver>
    <url>jdbc:as400://192.168.X.X;naming=system;errors=full</url>
    <user>user</user>
    <password>pwd</password>

<simple>
    <minPoolSize>10</minPoolSize>
    <maxPoolSize>20</maxPoolSize>
    <maxConnectionSize>200</maxConnectionSize>
    <useTimeout>1</useTimeout>
    <idleTimeout>00</idleTimeout>
    <maxLiveTime>00</maxLiveTime>
    <acquireTimeout>10000</acquireTimeout>
</simple>       
</jdbc>
4

2 回答 2

0

我怀疑有useTimeout=1。我相信这将意味着删除已使用超过 1 秒的连接。您可以尝试设置useTimeout=0以查看是否有任何不同。

于 2015-11-04T10:25:45.237 回答
0

您可以指定 url 中的超时设置。

jdbc:as400://xxx.com;libraries=libs;sort=hex;socket timeout=30000;thread used=false;translate binary=true;prompt=false;

也许问题在于您在 XPage 上的代码?如何将组合框中的值绑定到 jdbc 数据?

霍华德

于 2015-11-03T15:46:31.460 回答