Interfejsy API i SPI obszaru roboczego produktu WebSphere są niedostępne

Następujące interfejsy API i SPI obszaru roboczego produktu WebSphere są niedostępne na serwerze Liberty:

Ta reguła oznacza każde wystąpienie tych pakietów raz na klasę Java. Należy zmodyfikować aplikację w taki sposób, aby można było ją uruchamiać na serwerze Liberty.

Chociaż nie ma dokładnych alternatyw, zapoznaj się z poniższymi sugestiami dotyczącymi migracji.

Ocena użytkowania

Zwróć uwagę, które funkcje interfejsów API obszaru roboczego i SPI są używane w twoim kodzie i zastanów się, które funkcje są potrzebne. Patrz com.ibm.websphere.workarea Javadoc.

Niektóre z trudniejszych funkcji do migracji to:

Potencjalne alternatywy

com.ibm.websphere.appserver.api.DistributedMap

java.lang.ThreadLocal

java.lang.InheritableThreadLocal

Baza danych

DistributedMap przykład

Ten przykład pokazuje, jak można przeprowadzić migrację do DistributedMap jeśli aplikacja nie potrzebuje żadnych trudnych funkcji do migracji, które są wymienione w sekcji Oceń użycie.

Domyślna instancja WebSphere Dynamic Cache jest tworzona, gdy pamięć podręczna jest włączona w konsoli administracyjnej i jest powiązana z globalną instancją Dynamic Cache JNDI przestrzeń nazw o nazwie services/cache/distributedmap. Więcej instancji pamięci podręcznej można utworzyć za pomocą pliku właściwości cacheinstances.properties lub definiując resource-ref w pamięci podręcznej w deskryptorze wdrożenia modułu.

Przeczytaj więcej i zobacz przykładowy kod w dokumentacji Open Liberty dla DistributedMap:

UserWorkArea

DistributedMap

begin(java.lang.String name)

InitialContext ic = new InitialContext();

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

complete()

W większości przypadków nie ma to zastosowania, ale warto rozważyć unieważnienie kluczy w witrynie DistributedMap, jeśli nie są już potrzebne

distributedMap.addChangeListener(...)

distributedMap.invalidate(key)

get(java.lang.String key)

distributedMap.get(Object key) // returns Object

getMode(java.lang.String key)

Nie dotyczy

getName()

Nie dotyczy

remove(java.lang.String key)

distributedMap.addChangeListener(InvalidationListener listener)

distributedMap.invalidate(Object key)

Alternatywnie można ustawić timeToLive LUB inactivityTime podczas ustawiania lub aktualizowania Object jest w 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)

Nie dotyczy

Informacje o innych interfejsach API i SPI, które nie są obsługiwane przez serwer Liberty, zawiera temat Niektóre interfejsy API i SPI są niedostępne na serwerze Liberty.