- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在将应用程序从 WAS7 迁移到 Liberty。
现有代码在某些情况下使用WSCallHelper.clearStatementCache(connection)
(例如:在过程调用的情况下找不到包)。
我发现 WSCallHelper
在 liberty 服务器中不存在。
你能帮我想出一个自由的替代解决方案吗?它可以是特定的自由,也可以是支持所有服务器的通用方法。
最佳答案
了解更多关于您需要调用 WSCallHelper.clearStatementCache(connection)
的场景会很有帮助,但根据您所描述的内容,我假设它仅在错误路径。
在 Liberty 中,没有以编程方式清除语句缓存的 API。但是,缓存的语句只有在许多属性相同时才会匹配,例如:SQL 字符串、RS 可保存性、模式、隔离级别等。
为什么不需要 clearStatementCache:
您描述的调用 clearStatementCache 的示例场景是在数据库中找不到包时,但包应该反射(reflect)在 SQL 字符串或架构中。因此,假设您的应用程序不会重试失败的 SQL 字符串,您根本不需要调用 clearStatementCache。
如果你真的很想清除语句缓存:
正如 JDBC 规范所定义的,Statements 是 Connection 的子对象。因此,清除语句缓存的一种创造性方法是摆脱与错误语句的连接。调用 connection.close()
可能无法完成此操作,因为连接可以由应用程序服务器合并,但调用 connection.abort()
将摆脱底层连接,因此清除语句缓存。
关于java - 替换 websphere Liberty 配置文件中的 WSCallHelper.clearStatementCache(connection),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698993/
我正在将应用程序从 WAS7 迁移到 Liberty。 现有代码在某些情况下使用WSCallHelper.clearStatementCache(connection)(例如:在过程调用的情况下找不到
我是一名优秀的程序员,十分优秀!