Текущий менеджер bean не найден в сервисе CDI в websphere 9
Я перехожу с WAS 8 на WAS 9. В моем приложении используется версия Hibernate 4.3.0.Beta3 и весна 4.0.3. Во время запуска приложения я получаю эту ошибку:
An error occurred in the org.hibernate.jpa.HibernatePersistenceProvider persistence
provider when it attempted to create the container entity manager factory for
the AccidentCompensation persistence unit. The following error occurred:
java.lang.IllegalStateException: java.lang.UnsupportedOperationException:
No current bean manager found in CDI service
at com.ibm.ws.jpa.cdi.impl.BeanManagerInvocationHandler.invoke(BeanManagerInvocationHandler.java:80)
Пожалуйста, дайте мне знать, если вам нужно больше информации.
0 ответов
Я решаю свою проблему, пишу пользовательский построитель сессий и отключаю beanreference из экземпляра фабрики.
package br.com.temasistemas.utils.hibernate;
import org.hibernate.boot.SessionFactoryBuilder;
import org.hibernate.boot.spi.MetadataImplementor;
import org.hibernate.boot.spi.SessionFactoryBuilderFactory;
import org.hibernate.boot.spi.SessionFactoryBuilderImplementor;
public class CustomSessionFactoryBuilderFactory implements SessionFactoryBuilderFactory {
@Override
public SessionFactoryBuilder getSessionFactoryBuilder(final MetadataImplementor metadata,
final SessionFactoryBuilderImplementor defaultBuilder) {
return defaultBuilder.applyBeanManager(null);
}
}
create a service file in
META-INF/services/org.hibernate.boot.spi.SessionFactoryBuilderFactory
content
br.com.temasistemas.utils.hibernate.CustomSessionFactoryBuilderFactory