WebSphere 작업 영역 API 및 SPI 사용 불가능

다음과 같은 WebSphere 작업 영역 API 및 SPI를 Liberty에서 사용할 수 없습니다.

이 규칙은 이러한 패키지의 모든 인스턴스에 Java 클래스당 한 번 플래그를 지정합니다. Liberty에서 실행할 수 있도록 애플리케이션을 수정해야 합니다.

정확한 대안은 없지만 다음 마이그레이션 제안을 검토해 보세요.

사용량 평가

코드에서 어떤 작업 영역 API 및 SPI의 기능이 사용되는지 기록하고 어떤 기능이 필요한지 고려하세요. 를 참조하세요com.ibm.websphere.workarea 자바독.

마이그레이션하기 더 어려운 몇 가지 기능은 다음과 같습니다:

잠재적 대안

com.ibm.websphere.appserver.api.DistributedMap

java.lang.ThreadLocal

java.lang.InheritableThreadLocal

데이터베이스

DistributedMap

이 예는 다음 주소로 마이그레이션하는 방법을 보여줍니다 DistributedMap 애플리케이션에서 마이그레이션하기 어려운 기능이 필요하지 않은 경우 사용량 평가 섹션에 나열된 기능을 선택합니다.

기본 WebSphere 동적 캐시 인스턴스는 관리 콘솔에서 캐시가 활성화되어 있고 글로벌 JNDI 네임스페이스에 services/cache/distributedmap. 속성 파일을 사용하여 더 많은 캐시 인스턴스를 만들 수 있습니다 cacheinstances.properties 를 정의하거나 resource-ref 를 모듈의 배포 디스크립터에 캐시에 저장합니다.

자세한 내용은 Open Liberty 문서에서 예제 코드를 참조하세요 DistributedMap:

UserWorkArea

DistributedMap

begin(java.lang.String name)

InitialContext ic = new InitialContext();

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

complete()

대부분 해당되지 않지만 더 이상 필요하지 않은 경우 DistributedMap 에서 키를 무효화하는 것을 고려하세요

distributedMap.addChangeListener(...)

distributedMap.invalidate(key)

get(java.lang.String key)

distributedMap.get(Object key) // returns Object

getMode(java.lang.String key)

적용할 수 없습니다.

getName()

적용할 수 없습니다.

remove(java.lang.String key)

distributedMap.addChangeListener(InvalidationListener listener)

distributedMap.invalidate(Object key)

또는 다음과 같이 설정할 수 있습니다 timeToLive 또는 inactivityTime 설정하거나 업데이트할 때 Object 다음에서 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)

적용할 수 없습니다.

Liberty에 지원되지 않는 기타 API 및 SPI에 대한 정보는 Liberty에서 일부 API 및 SPI 사용 불가능을 참조하십시오.