「エンティティが利用できない」しまった私はCXF
を使用するコードの一部(3.1.2)CXFのreadEntity()
に取り組んでいます私は断続的にこのエラーを見ています:
java.lang.IllegalStateException: Entity is not available
at org.apache.cxf.jaxrs.impl.ResponseImpl.checkEntityIsClosed(ResponseImpl.java:481)
at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:333)
at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:320)
at org.apache.cxf.jaxrs.impl.ResponseImpl.readEntity(ResponseImpl.java:310)
向上させるにはパフォーマンスは、Response
オブジェクトはGoogle Guava LoadingCache
(com.google.common.cache.LoadingCache
)によって保持されます。オブジェクトがキャッシュに数分間置かれた後、このエラーが発生するようです。 Response
オブジェクトが無効なため が数分後に存在する可能性がありますか?
private static LoadingCache<String, Response> cachedLdapRespMap
= CacheBuilder.newBuilder()
.maximumSize(Constants.LDAP_RESP_CACHE_SIZE)
.expireAfterWrite(Constants.LDAP_RESP_CACHE_KEEP_ALIVE_MINUTE
, TimeUnit.MINUTES)
.build(
new CacheLoader<String, Response>() {
@Override
public Response load(String uid)
throws Exception {
Response res = makeLdapRequest(uid);
return res;
}
}
);