2015-01-06 6 views
3

jboss eap 6.2에서 작동하는 monogodb 공급자로 hibernate-ogm을 얻으려고합니다.jboss eap 6.2에서 최대 절전 모드 -OGM 작동 방법

나는이 엔티티 관리자 사용하여 내 클래스입니다

<?xml version="1.0"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
      version="2.0"> 

    <persistence-unit name="monitor" transaction-type="JTA"> 
     <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider> 
     <!--<jta-data-source>java:/jdbc/monitorservice/monitorDs</jta-data-source>--> 
     <!--<jta-data-source>java:/DefaultDS</jta-data-source>--> 
     <properties> 
      <property name="hibernate.transaction.jta.platform" 
         value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform" /> 

      <property name="hibernate.ogm.datastore.provider" value="mongodb" /> 
      <property name="hibernate.ogm.datastore.database" value="db"/> 
      <property name="hibernate.ogm.datastore.host" value="server"/> 
      <property name="hibernate.ogm.datastore.port" value="port"/> 
      <property name="hibernate.ogm.datastore.username" value="user"/> 
      <property name="hibernate.ogm.datastore.password" value="pass"/> 

     </properties> 
    </persistence-unit> 
</persistence> 

내 persistence.xml을 구성한 :

@Stateless 
public class ProcessDao { 

    @PersistenceUnit(name = "monitor") 
    private EntityManager entityManager; 
... 
} 

그러나이 코드가 실행될 때, 나는 다음과 같은 예외가 :

Caused by: java.lang.IllegalArgumentException: Can not set javax.persistence.EntityManager field com.example.ProcessDao.entityManager to org.hibernate.ogm.hibernatecore.impl.OgmSessionFactoryImpl 
     at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:164) [rt.jar:1.7.0_71] 
     at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:168) [rt.jar:1.7.0_71] 
     at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) [rt.jar:1.7.0_71] 
     at java.lang.reflect.Field.set(Field.java:741) [rt.jar:1.7.0_71] 
     at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:114) [jboss-as-ee-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2] 
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] 
     at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] 
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] 
     at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95) [jboss-as-ee-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2] 
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] 
     at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] 
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] 
     at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2] 
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] 
     at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:272) [jboss-as-ejb3-7.3.2.Final-redhat-2.jar:7.3.2.Final-redhat-2] 
     ... 165 more 

내가이 작업을 수행하기 위해 할 수있는 아이디어가 있습니까?

+0

나는 최대 절전 모드 ogm 포럼에서 같은 질문을했다 : https://forum.hibernate.org/viewtopic.php?f=31&t=1037708&start=0 – cremersstijn

답변

2

Hibernate OGM은 JBoss EAP과 함께 제공되는 일부 라이브러리의 업데이트 된 버전이 필요합니다 (예 : 최신 버전의 Hibernate ORM과 함께 제공되는 기능 만 사용).

이전에는 Hibernate OGM과 필요한 모든 모듈을 추가하기 위해 설치의 ontop의 압축을 해제 할 실험 ZIP 파일이있었습니다. 불행히도이 ZIP 파일은 최근 업데이트되지 않았기 때문에 Hibernate OGM 4.1.0.Final 배포판의 일부가 아닙니다. 우리는 ZIP 파일을 업데이트 할 계획을 가지고 있지만 아직 설치하지 않았습니다.

당분간 Wildfly 8에서 Hibernate OGM을 사용할 수도 있습니다. 혹시 모험이된다면 ZIP from source 모듈을 빌드하고 필요한 변경 사항을 조사 할 수 있습니다 그것을 통합하는 것을 매우 기쁘게 생각하십시오).