В моем процессе переноса рабочего приложения EAR в JBoss AS 7.1.1-Finel я столкнулся с другой проблемой, которую я не могу решить. Вскоре EJB3 ищет контейнер кеша и хранит в нем данные.Ошибка доступа к контейнеру кеша Infinispan
org.infinispan.manager.CacheContainer container = null;
...
public static CacheContainer getCacheContainer() {
if(container == null) {
try {
Context ctx = new InitialContext();
container = (CacheContainer) ctx
.lookup("java:jboss/infinispan/container/mycache");
} catch (NamingException e) {
e.getCause();
}
}
return container;
}
ЕАР определяет зависимость от infinispan в JBoss-развертывания-structure.xml, таким образом:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.hibernate" slot="main" />
<module name="org.infinispan" slot="main" />
<module name="org.jboss.as.clustering.infinispan" />
</dependencies>
</deployment>
</jboss-deployment-structure>
Когда я раскрываю этот код я получаю следующее сообщение об ошибке:
Caused by: java.lang.NoClassDefFoundError: org/infinispan/manager/CacheContainer
Может ли кто-нибудь мне помочь?
С наилучшими пожеланиями, СК
Спасибо Szymon, что решить мою проблему. –
Спасибо, это было очень полезно. Однако это не должно работать как глобальная зависимость, например. как мы это делаем с помощью, например, org.hibernate.commons-аннотации и т. д.? Связанный с вами документ говорит, что зависимости развертывания являются глобальными, как если бы они были добавлены в манифест (это то, что предлагает документ Infinispan). Есть идеи по этому поводу? – Thomas
@Thomas Я не уверен, правильно ли я понимаю, но если вы имеете в виду раздел _Global Modules_, то да, он должен работать и на этом уровне. Имейте в виду, что это не связано с 'jboss-deployment-structure.xml', поскольку раздел' 'помещается в конфигурацию сервера приложений (например,' standalone.xml'), а не в дескриптор развертывания сам. –