API-urile şi SPI-urile WebSphere Work Area nu sunt disponibile

Următoarele API-uri şi SPI-uri WebSphere Work Area nu sunt disponibile pe Liberty:

Această regulă marchează orice instanță a acestor pachete o dată pentru fiecare clasă Java. Trebuie să modificaţi aplicaţia astfel încât să poată rula pe Liberty.

Deși nu există alternative exacte, analizați următoarele sugestii de migrare.

Evaluați utilizarea

Rețineți ce caracteristici ale API-urilor și SPI-urilor din zona de lucru sunt utilizate în codul dvs. și analizați ce caracteristici sunt necesare. Consultați com.ibm.websphere.workarea Javadoc.

Unele dintre cele mai dificile caracteristici de la care se migrează sunt:

Alternative potențiale

com.ibm.websphere.appserver.api.DistributedMap

java.lang.ThreadLocal

java.lang.InheritableThreadLocal

Bază de date

DistributedMap exemplu

Acest exemplu arată cum puteți migra la DistributedMap dacă aplicația dvs. nu are nevoie de niciuna dintre caracteristicile dificile de la care trebuie să migrați, care sunt enumerate în secțiunea Evaluați utilizarea.

Instanța implicită WebSphere Dynamic Cache este creată atunci când cache-ul este activat în consola de administrare și este legat în spațiul global JNDI cu numele services/cache/distributedmap. Mai multe instanțe cache pot fi create utilizând un fișier de proprietăți cacheinstances.properties sau prin definirea unui resource-ref pentru în cache în descriptorul de implementare al modulului dvs.

Citiți mai multe și vedeți exemple de cod în documentația Open Liberty pentru DistributedMap:

UserWorkArea

DistributedMap

begin(java.lang.String name)

InitialContext ic = new InitialContext();

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

complete()

În general nu se aplică, dar luați în considerare invalidarea cheilor într-un DistributedMap dacă nu mai aveți nevoie de ele

distributedMap.addChangeListener(...)

distributedMap.invalidate(key)

get(java.lang.String key)

distributedMap.get(Object key) // returns Object

getMode(java.lang.String key)

Neaplicabil

getName()

Neaplicabil

remove(java.lang.String key)

distributedMap.addChangeListener(InvalidationListener listener)

distributedMap.invalidate(Object key)

Alternativ, puteți seta timeToLive sau inactivityTime atunci când setați sau actualizați un Object ÎN 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)

Neaplicabil

Pentru informaţii despre alte API-uri şi SPI-uri care nu sunt suportate pe Liberty, vedeţi Unele API-uri şi SPI-uri nu sunt disponibile pe Liberty.