WebSphere 作業域 API および SPI は使用できない

以下の WebSphere 作業域 API および SPI は、Liberty では使用できません。

このルールは、 Java のクラスごとに、これらのパッケージのインスタンスにフラグを立てる。 Liberty で実行できるようにアプリケーションを変更する必要があります。

正確な代替案は存在しないが、以下の移行案を検討すること。

利用状況を評価する

ワークエリアAPIとSPIのどの機能があなたのコードで使われているかをメモし、どの機能が必要かを検討する。 を参照のことcom.ibm.websphere.workarea Javadoc.

移行が難しい機能には、以下のようなものがある:

代替案の可能性

com.ibm.websphere.appserver.api.DistributedMap

java.lang.ThreadLocal

java.lang.InheritableThreadLocal

データベース

DistributedMap

この例では DistributedMap アプリケーションに移行が困難な機能が必要ない場合は、「 使用状況を評価する」 セクションに記載されています。

デフォルトの WebSphere ダイナミック・キャッシュ・インスタンスは、管理コンソールでキャッシュを有効にすると作成され、グローバルな JNDI という名前の services/cache/distributedmap.プロパティファイルを使用することで、より多くのキャッシュインスタンスを作成することができます cacheinstances.properties または resource-ref モジュールのデプロイメント記述子で、キャッシュにある

詳しくは、 Open Liberty のドキュメントを参照 DistributedMap:

UserWorkArea

DistributedMap

begin(java.lang.String name)

InitialContext ic = new InitialContext();

DistributedMap distributedMap = (DistributedMap)ic.lookup("services/cache/customObjCache");

complete()

ほとんどの場合適用されないが、不要になった場合は DistributedMap のキーを無効にすることを検討する

distributedMap.addChangeListener(...)

distributedMap.invalidate(key)

get(java.lang.String key)

distributedMap.get(Object key) // returns Object

getMode(java.lang.String key)

適用外

getName()

適用外

remove(java.lang.String key)

distributedMap.addChangeListener(InvalidationListener listener)

distributedMap.invalidate(Object key)

あるいは timeToLive または inactivityTime を設定または更新するときに Object in (存在する) DistributedMap.

distributedMap.put(Object key, Object value, int priority, int timeToLive, int inactivityTime, int sharingPolicy, Object[] dependencyIds)

retrieveAllKeys()

Set dmSet = distributedMap.keySet(boolean includeDiskCache); // returns Set

String[] keys = dmSet.toArray(new String[0]);

set(java.lang.String key, java.io.Serializable value)

distributedMap.put(Object key, Object value)

distributedMap.put(Object key, Object value, int priority, int timeToLive, int inactivityTime, int sharingPolicy, Object[] dependencyIds)

distributedMap.put(Object key, Object value, int priority, int timeToLive, int sharingPolicy, Object[] dependencyIds)

set(java.lang.String key, java.io.Serializable value, PropertyModeType mode)

適用外

Liberty でサポートされていないその他の API や SPI については、『一部の API と SPI が Liberty では使用できない』を参照してください。