Liberty 配置文件 POJO 缓存
Liberty profile POJO caching
我正在尝试设置 liberty 配置文件服务器,以便我可以缓存 POJO。我的问题是如何在我的 java 代码中访问 DistributedMap?
我的server.xml:
<featureManager>
<feature>jsp-2.2</feature>
<feature>jaxrs-1.1</feature>
<feature>localConnector-1.0</feature>
<feature>appSecurity-2.0</feature>
<feature>jpa-2.0</feature>
<feature>jdbc-4.0</feature>
<feature>jndi-1.0</feature>
<feature>cdi-1.0</feature>
<feature>webCache-1.0</feature>
<feature>distributedMap-1.0</feature>
</featureManager>
<distributedMap id="baseCache" libraryRef="TSPlib" memorySizeInMB="500" jndiName="services/cache/baseCache">
<diskCache></diskCache>
</distributedMap>
<library id="TSPlib">
<folder dir="C:\TSP\bin"></folder>
</library>
我尝试了下面的这段代码(诚然这是针对 WAS 的),但我找不到 DistributedMap 的正确命名空间,也找不到它所在的 jar。
公共class缓存服务{
private DistributedMap cache = null;
public CachingService() {
InitialContext ctx;
try {
ctx = new InitialContext();
cache = (DistributedMap) ctx.lookup("services/cache/baseCache");
} catch (NamingException e) {
e.printStackTrace();
}
}
看起来像是打字错误,因为在您提供的 distributedMap 配置中 jndiName="services/cache/baseCache"
并且在查找中您使用:ctx.lookup("services/cache/TestCache")
如果您不提供自定义 jndiName,则默认 services/cache/distributedmap
。参见 distributedMap-1.0
我正在尝试设置 liberty 配置文件服务器,以便我可以缓存 POJO。我的问题是如何在我的 java 代码中访问 DistributedMap?
我的server.xml:
<featureManager>
<feature>jsp-2.2</feature>
<feature>jaxrs-1.1</feature>
<feature>localConnector-1.0</feature>
<feature>appSecurity-2.0</feature>
<feature>jpa-2.0</feature>
<feature>jdbc-4.0</feature>
<feature>jndi-1.0</feature>
<feature>cdi-1.0</feature>
<feature>webCache-1.0</feature>
<feature>distributedMap-1.0</feature>
</featureManager>
<distributedMap id="baseCache" libraryRef="TSPlib" memorySizeInMB="500" jndiName="services/cache/baseCache">
<diskCache></diskCache>
</distributedMap>
<library id="TSPlib">
<folder dir="C:\TSP\bin"></folder>
</library>
我尝试了下面的这段代码(诚然这是针对 WAS 的),但我找不到 DistributedMap 的正确命名空间,也找不到它所在的 jar。
公共class缓存服务{
private DistributedMap cache = null;
public CachingService() {
InitialContext ctx;
try {
ctx = new InitialContext();
cache = (DistributedMap) ctx.lookup("services/cache/baseCache");
} catch (NamingException e) {
e.printStackTrace();
}
}
看起来像是打字错误,因为在您提供的 distributedMap 配置中 jndiName="services/cache/baseCache"
并且在查找中您使用:ctx.lookup("services/cache/TestCache")
如果您不提供自定义 jndiName,则默认 services/cache/distributedmap
。参见 distributedMap-1.0