Liberty配置文件POJO缓存

时间:2015-01-07 11:30:17

标签: java caching websphere-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。

公共类CachingService {

private DistributedMap cache = null;

public CachingService() {
    InitialContext ctx;
    try {
    ctx = new InitialContext();
          cache = (DistributedMap) ctx.lookup("services/cache/baseCache");
    } catch (NamingException e) {
          e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:1)

看起来像一个拼写错误,就像您在{(1}}提供的distributedMap配置中一样,在您使用的查询中使用:jndiName="services/cache/baseCache"

如果您不提供自定义jndiName,则默认为ctx.lookup("services/cache/TestCache")。见distributedMap-1.0