以下 WebSphere 工作区 API 和 SPI 在 Liberty 上不可用:
com.ibm.websphere.workareacom.ibm.wsspi.workarea该规则会在每个 Java 类中标记这些软件包的任何实例。 您必须修改应用程序,以使其可在 Liberty 上运行。
虽然没有完全相同的替代方案,但可以参考以下迁移建议。
注意代码中使用了工作区 API 和 SPI 的哪些功能,并考虑需要哪些功能。 请参阅 com.ibm.websphere.workarea Javadoc。
较难迁移的功能包括
PropertyModeTyperead_onlyfixed_normalfixed_readonlycom.ibm.websphere.appserver.api.DistributedMap
DistributedMap 访问 WebSphere 本地缓存以存储键、值 Object 成对JNDI 在 services/cache/distributedmapjava.lang.ThreadLocal
Object 在线程范围内ThreadLocal (使用其 get 或 set 方法)有自己的、独立初始化的变量副本ThreadLocal 实例通常 private static 类中与线程状态相关联的字段(例如,用户 ID 或事务 ID)java.lang.InheritableThreadLocal
ThreadLocal 以提供从父线程到子线程的值继承JDBC 驱动程序,这样在 Open Liberty 服务器上运行的应用程序就可以连接关系数据库,如 IBM Db2, PostgreSQL, Microsoft SQL Server 或 MySQL。 了解更多信息CDI 生产者提供对 NoSQL 数据库的访问,如 MongoDB 或 CouchDB。 了解更多信息DistributedMap 示例本例说明了如何迁移到 DistributedMap 如果您的应用程序不需要任何难以迁移的功能(这些功能已在 " 评估使用情况 "部分列出)。
默认的 WebSphere 动态高速缓存实例是在管理控制台启用高速缓存时创建的,并绑定到全局 JNDI 名称的命名空间 services/cache/distributedmap.使用属性文件可以创建更多缓存实例 cacheinstances.properties 或通过定义一个 resource-ref 模块部署描述符中的缓存。
在 Open Liberty 文档中阅读更多内容并查看示例代码 DistributedMap:
|
|
|---|---|
|
|
|
大部分情况下不适用,但如果不再需要,可考虑在 DistributedMap 中使密钥失效 |
|
|
|
不适用 |
|
不适用 |
|
或者,您也可以设置 |
|
|
|
|
|
不适用 |
有关在 Liberty 上不受支持的其他 API 和 SPI 的信息,请参阅某些 API 和 SPI 在 Liberty 上不可用。