2015-01-07 4 views
0

Я пытаюсь настроить сервер профиля прав, чтобы я мог кэшировать POJO. Мой вопрос: как мне получить доступ к DistributedMap в моем Java-коде?Профиль Liberty POJO-кеширование

Мой 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, ни банку, что это в

общественного класса 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

Выглядит как опечатка, так как в конфигурации distributedMap вы предоставили jndiName="services/cache/baseCache" и в поиске вы используете: ctx.lookup("services/cache/TestCache")

Если вы не предоставили пользовательское имя jndiName, то по умолчанию services/cache/distributedmap. См. distributedMap-1.0

+0

Да, это тоже проблема, но главная проблема заключается в том, что я даже не могу скомпилировать код. Я не уверен, что такое пространство имен для DistributedMap. Автозаполнение внутри eclipse не вызывает для меня каких-либо классов, и поиск в google также не нашел. –

+0

(Я отредактировал вопрос, чтобы принять во внимание эту ошибку.) –

+1

@JamesHutchinson Как вы строите это? Если вы используете Eclipse с WebSphere Liberty в качестве целевой среды выполнения, она уже должна быть в пути к классу. Флаг находится в папке 'wlp \ dev \ api \ ibm \ com.ibm.websphere.appserver.api.distributedMap - *. Jar'. – Gas

Смежные вопросы