Le API e le SPI WebSphere Work Area non sono disponibili

Le seguenti API e SPI WebSphere Work Area non sono disponibili in Liberty:

Questa regola segnala qualsiasi istanza di questi pacchetti una volta per classe Java. È necessario modificare l'applicazione in modo che possa essere eseguita in Liberty.

Sebbene non esistano alternative esatte, si consiglia di esaminare i seguenti suggerimenti per la migrazione.

Valutare l'utilizzo

Prendete nota di quali funzioni delle API dell'area di lavoro e delle SPI sono utilizzate nel vostro codice e considerate quali funzioni sono necessarie. Consultare il documento com.ibm.websphere.workarea Javadoc.

Alcune delle funzioni più difficili da migrare sono:

Potenziali alternative

com.ibm.websphere.appserver.api.DistributedMap

java.lang.ThreadLocal

java.lang.InheritableThreadLocal

Database

DistributedMap esempio

Questo esempio mostra come migrare a DistributedMap se l'applicazione non necessita di nessuna delle funzioni difficili da migrare, elencate nella sezione Valutare l'uso.

L'istanza predefinita di WebSphere Dynamic Cache viene creata quando si abilita la cache nella console amministrativa ed è vincolata alla voce globale JNDI con il nome services/cache/distributedmap. È possibile creare più istanze di cache utilizzando un file di proprietà cacheinstances.properties o definendo un elemento resource-ref per la cache nel descrittore di distribuzione del modulo.

Per saperne di più e vedere un esempio di codice, consultare la Documentazione di Open Liberty per DistributedMap:

UserWorkArea

DistributedMap

begin(java.lang.String name)

InitialContext ic = new InitialContext();

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

complete()

Per lo più non è applicabile, ma si consideri la possibilità di invalidare le chiavi in un DistributedMap se non sono più necessarie

distributedMap.addChangeListener(...)

distributedMap.invalidate(key)

get(java.lang.String key)

distributedMap.get(Object key) // returns Object

getMode(java.lang.String key)

Non applicabile

getName()

Non applicabile

remove(java.lang.String key)

distributedMap.addChangeListener(InvalidationListener listener)

distributedMap.invalidate(Object key)

In alternativa, è possibile impostare timeToLive oppure inactivityTime quando si imposta o si aggiorna un file 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)

Non applicabile

Per informazioni relative ad altre API e SPI che non sono supportate in Liberty, consultare Alcune API e SPI non sono disponibili su Liberty.