Las APIs y SPIs de WebSphere Work Area no están disponibles

Las APIs y SPIs de WebSphere Work Area siguientes no están disponibles en Liberty:

Esta regla marca cualquier instancia de estos paquetes una vez por clase Java. Debe modificar la aplicación para que se pueda ejecutar en Liberty.

Aunque no existen alternativas exactas, revise las siguientes sugerencias de migración.

Evaluar el uso

Tome nota de qué funciones de las API del área de trabajo y de las SPI se utilizan en su código y considere qué funciones son necesarias. Consulte la com.ibm.websphere.workarea Javadoc.

Algunas de las características más difíciles de migrar son:

Posibles alternativas

com.ibm.websphere.appserver.api.DistributedMap

java.lang.ThreadLocal

java.lang.InheritableThreadLocal

Base de datos

DistributedMap ejemplo

Este ejemplo muestra cómo se puede migrar a DistributedMap si su aplicación no necesita ninguna de las características difíciles de migrar, que se enumeran en la sección Evaluar el uso.

La instancia predeterminada de WebSphere Dynamic Cache se crea cuando se activa la caché en la consola de administración y se vincula a la cuenta global JNDI con el nombre services/cache/distributedmap. Se pueden crear más instancias de caché utilizando un archivo de propiedades cacheinstances.properties o definiendo un resource-ref para en caché en el descriptor de despliegue de su módulo.

Más información y ejemplos de código en la documentación de Open Liberty para DistributedMap:

UserWorkArea

DistributedMap

begin(java.lang.String name)

InitialContext ic = new InitialContext();

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

complete()

En la mayoría de los casos no es aplicable, pero considere la posibilidad de invalidar las claves en DistributedMap si ya no las necesita

distributedMap.addChangeListener(...)

distributedMap.invalidate(key)

get(java.lang.String key)

distributedMap.get(Object key) // returns Object

getMode(java.lang.String key)

No aplicable

getName()

No aplicable

remove(java.lang.String key)

distributedMap.addChangeListener(InvalidationListener listener)

distributedMap.invalidate(Object key)

Como alternativa, puede establecer timeToLive o inactivityTime al establecer o actualizar un Object en 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)

No aplicable

Para obtener información sobre otras API y SPI que no están soportadas en Liberty, consulte Algunas API y SPI no están disponibles en Liberty.