Rozhraní WebSphere Work Area API a SPI nejsou k dispozici

Následující rozhraní WebSphere Work Area API a SPI nejsou k dispozici na serveru:

Toto pravidlo označí každou instanci těchto balíčků jednou za třídu Java. Musíte upravit aplikaci tak, abyste ji mohli spustit na serveru Liberty.

Přestože neexistují přesné alternativy, přečtěte si následující návrhy migrace.

Vyhodnocení používání

Všimněte si, které funkce rozhraní API pracovní oblasti a rozhraní SPI jsou ve vašem kódu použity, a zvažte, které funkce jsou potřebné. Podívejte se na com.ibm.websphere.workarea Javadoc.

Mezi obtížnější funkce, ze kterých je třeba přejít, patří:

Možné alternativy

com.ibm.websphere.appserver.api.DistributedMap

java.lang.ThreadLocal

java.lang.InheritableThreadLocal

Databáze

DistributedMap příklad

Tento příklad ukazuje, jak můžete migrovat na DistributedMap pokud vaše aplikace nepotřebuje žádnou z obtížných funkcí, ze kterých se má migrovat a které jsou uvedeny v části Zhodnotit použití.

Výchozí instance WebSphere Dynamic Cache je vytvořena po povolení mezipaměti v konzole pro správu a je vázána na globální mezipaměť JNDI oboru názvů s názvem services/cache/distributedmap. Další instance mezipaměti lze vytvořit pomocí souboru vlastností cacheinstances.properties nebo definováním resource-ref v mezipaměti v popisovači nasazení modulu.

Více informací a ukázkový kód naleznete v dokumentaci k Open Liberty DistributedMap:

UserWorkArea

DistributedMap

begin(java.lang.String name)

InitialContext ic = new InitialContext();

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

complete()

Většinou to neplatí, ale zvažte zneplatnění klíčů na adrese DistributedMap, pokud je již nepotřebujete

distributedMap.addChangeListener(...)

distributedMap.invalidate(key)

get(java.lang.String key)

distributedMap.get(Object key) // returns Object

getMode(java.lang.String key)

Nelze použít

getName()

Nelze použít

remove(java.lang.String key)

distributedMap.addChangeListener(InvalidationListener listener)

distributedMap.invalidate(Object key)

Případně můžete nastavit timeToLive nebo inactivityTime při nastavení nebo aktualizaci Object v 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)

Nelze použít

Další informace o jiných rozhraních API a SPI, které nejsou podporovány na serveru Liberty, viz Některá rozhraní API a SPI nejsou k dispozici na serveru Liberty.