6 Replies Latest reply: Jul 18, 2011 11:17 AM by Thomas T RSS

Migrating to JBoss 7.0.0.Final: SearchException with Hibernate 3

Thomas T Newbie

I am migrating an EAR-Application from JBoss 4.2 to 7.0.0.Final. Deploying the application looks fine, but when I use the FullTextEntityManager from Hibernate Search 3.4.0.Final the following SearchException is thrown:

 

12:32:20,808 INFO  [org.jboss.as.server.controller] (DeploymentScanner-threads - 2) Deployed "MyApp.ear"
12:32:51,418 ERROR [org.jboss.ejb3.tx2.impl.CMTTxInterceptor] (http--127.0.0.1-8080-2) javax.ejb.EJBTransactionRolledbackException: Trying to use Hibernate Search without an Hibernate EntityManager: class org.hibernate.internal.SessionImpl
12:32:51,433 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/MyApp]] (http--127.0.0.1-8080-2) Exception while dispatching incoming RPC call: com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract boolean de.mycompany.myapp.client.rpc.MyAppService.startSearchIndexReInitialization()' threw an unexpected exception: javax.ejb.EJBTransactionRolledbackException: Trying to use Hibernate Search without an Hibernate EntityManager: class org.hibernate.internal.SessionImpl
     at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385) [gwt-servlet-2.3.0.jar:]
     at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588) [gwt-servlet-2.3.0.jar:]
     at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) [gwt-servlet-2.3.0.jar:]
     at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) [gwt-servlet-2.3.0.jar:]
     at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) [gwt-servlet-2.3.0.jar:]
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.0.Final.jar:7.0.0.Final]
     at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:49) [jboss-as-jpa-7.0.0.Final.jar:7.0.0.Final]
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [jbossweb-7.0.0.CR4.jar:7.0.0.Final]
     at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: javax.ejb.EJBTransactionRolledbackException: Trying to use Hibernate Search without an Hibernate EntityManager: class org.hibernate.internal.SessionImpl
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:168)
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:251)
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.required(CMTTxInterceptor.java:381)
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invoke(CMTTxInterceptor.java:233)
     at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:47)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
     at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:146)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
     at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:76)
     at de.mycompany.myapp.service.SearchService$$$view12.initializeIndex(Unknown Source) [myapp-server-2.3.7-SNAPSHOT.jar:]
     at de.mycompany.myapp.service.MyAppControllerBean.initSearchIndex(MyAppControllerBean.java:800) [myapp-server-2.3.7-SNAPSHOT.jar:]
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_26]
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_26]
     at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
     at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:51)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:45) [jboss-as-jpa-7.0.0.Final.jar:7.0.0.Final]
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:44)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
     at org.jboss.as.ee.component.ViewDescription$ComponentDispatcherInterceptor.processInvocation(ViewDescription.java:202)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ejb3.component.session.SessionInvocationContextInterceptor.processInvocation(SessionInvocationContextInterceptor.java:67)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:370)
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:271)
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.required(CMTTxInterceptor.java:377)
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invoke(CMTTxInterceptor.java:233)
     at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:47)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
     at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:146)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
     at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:76)
     at de.mycompany.myapp.service.MyAppController$$$view1.initSearchIndex(Unknown Source) [myApp-server-2.3.7-SNAPSHOT.jar:]
     at de.mycompany.myapp.server.MyAppServlet.startSearchIndexReInitialization(MyAppServlet.java:350) [classes:]
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_26]
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_26]
     at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
     at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569) [gwt-servlet-2.3.0.jar:]
     ... 19 more
Caused by: org.hibernate.search.SearchException: Trying to use Hibernate Search without an Hibernate EntityManager: class org.hibernate.internal.SessionImpl
     at org.hibernate.search.jpa.impl.FullTextEntityManagerImpl.getFullTextSession(FullTextEntityManagerImpl.java:91) [hibernate-search-3.4.0.Final.jar:]
     at org.hibernate.search.jpa.impl.FullTextEntityManagerImpl.purgeAll(FullTextEntityManagerImpl.java:117) [hibernate-search-3.4.0.Final.jar:]
     at de.mycompany.myapp.service.SearchServiceBean.purgeAll(SearchServiceBean.java:716) [myApp-server-2.3.7-SNAPSHOT.jar:]
     at de.mycompany.myapp.service.SearchServiceBean.buildIndex(SearchServiceBean.java:683) [myApp-server-2.3.7-SNAPSHOT.jar:]
     at de.mycompany.myapp.service.SearchServiceBean.initializeIndex(SearchServiceBean.java:116) [myApp-server-2.3.7-SNAPSHOT.jar:]
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_26]
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_26]
     at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
     at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:51)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:45) [jboss-as-jpa-7.0.0.Final.jar:7.0.0.Final]
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:44)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
     at org.jboss.as.ee.component.ViewDescription$ComponentDispatcherInterceptor.processInvocation(ViewDescription.java:202)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ejb3.component.session.SessionInvocationContextInterceptor.processInvocation(SessionInvocationContextInterceptor.java:67)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
     at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
     at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:370)
     at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:247)
     ... 69 more

 

 

The EAR-File has the following structure:

 

MyApp.ear
|   myApp-server-2.3.7-SNAPSHOT.jar
|   myApp-web-2.3.7-SNAPSHOT.war
|   
+---lib
|       asm-3.2.jar
|       asm-analysis-3.2.jar
|       asm-commons-3.2.jar
|       asm-tree-3.2.jar
|       asm-util-3.2.jar
|       avalon-framework-api-4.3.1.jar
|       avalon-framework-impl-4.3.1.jar
|       batik-anim-1.7.jar
|       batik-awt-util-1.7.jar
|       batik-bridge-1.7.jar
|       batik-css-1.7.jar
|       batik-dom-1.7.jar
|       batik-ext-1.7.jar
|       batik-extension-1.7.jar
|       batik-gvt-1.7.jar
|       batik-js-1.7.jar
|       batik-parser-1.7.jar
|       batik-script-1.7.jar
|       batik-svg-dom-1.7.jar
|       batik-svggen-1.7.jar
|       batik-transcoder-1.7.jar
|       batik-util-1.7.jar
|       batik-xml-1.7.jar
|       cglib-2.2.jar
|       commons-codec-1.4.jar
|       commons-collections-3.1.jar
|       commons-io-1.3.1.jar
|       commons-lang-2.5.jar
|       dom4j-1.6.1.jar
|       fop-1.0.jar
|       ganymed-ssh2-build210.jar
|       gmaven-common-1.0-rc-3.jar
|       gmaven-feature-api-1.0-rc-3.jar
|       gmaven-feature-support-1.0-rc-3.jar
|       gmaven-runtime-1.5-1.0-rc-3.jar
|       gmaven-runtime-api-1.0-rc-3.jar
|       gmaven-runtime-default-1.0-rc-3.jar
|       gmaven-runtime-support-1.0-rc-3.jar
|       groovy-1.8.0.jar
|       hibernate-commons-annotations-3.2.0.Final.jar
|       hibernate-core-3.6.3.Final.jar
|       hibernate-entitymanager-3.6.3.Final.jar
|       hibernate-search-3.4.0.Final.jar
|       hibernate-search-analyzers-3.4.0.Final.jar
|       itext-2.0.4-modified.jar
|       javassist-3.12.0.GA.jar
|       jline-0.9.94.jar
|       lucene-analyzers-3.1.0.jar
|       lucene-core-3.1.0.jar
|       lucene-highlighter-3.1.0.jar
|       lucene-memory-3.1.0.jar
|       lucene-misc-3.1.0.jar
|       lucene-smartcn-3.1.0.jar
|       lucene-spatial-3.1.0.jar
|       lucene-spellchecker-3.1.0.jar
|       lucene-stempel-3.1.0.jar
|       plexus-utils-1.5.5.jar
|       qdox-1.6.3.jar
|       solr-analysis-extras-3.1.0.jar
|       solr-commons-csv-3.1.0.jar
|       solr-core-3.1.0.jar
|       solr-solrj-3.1.0.jar
|       stringtemplate-3.2.1.jar
|       xmlgraphics-commons-1.4.jar
|       
\---META-INF
        application.xml
        jboss-deployment-structure.xml
        MANIFEST.MF

 

 

Here is the META-INF/MANIFEST.MF generated by Maven 3:

 

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: traude
Build-Jdk: 1.6.0_26
Dependencies: org.apache.commons.logging, org.slf4j
Class-Path: myApp-server-2.3.7-SNAPSHOT.jar myApp-web-2.3.7-SNAP
 SHOT.war lib/hibernate-entitymanager-3.6.3.Final.jar lib/hibernate-co
 re-3.6.3.Final.jar lib/commons-collections-3.1.jar lib/dom4j-1.6.1.ja
 r lib/cglib-2.2.jar lib/javassist-3.12.0.GA.jar lib/fop-1.0.jar lib/x
 mlgraphics-commons-1.4.jar lib/batik-svg-dom-1.7.jar lib/batik-anim-1
 .7.jar lib/batik-css-1.7.jar lib/batik-dom-1.7.jar lib/batik-parser-1
 .7.jar lib/batik-util-1.7.jar lib/batik-bridge-1.7.jar lib/batik-scri
 pt-1.7.jar lib/batik-js-1.7.jar lib/batik-xml-1.7.jar lib/batik-awt-u
 til-1.7.jar lib/batik-gvt-1.7.jar lib/batik-transcoder-1.7.jar lib/ba
 tik-svggen-1.7.jar lib/batik-extension-1.7.jar lib/batik-ext-1.7.jar 
 lib/commons-io-1.3.1.jar lib/avalon-framework-api-4.3.1.jar lib/avalo
 n-framework-impl-4.3.1.jar lib/stringtemplate-3.2.1.jar lib/ganymed-s
 sh2-build210.jar lib/commons-lang-2.5.jar lib/hibernate-search-3.4.0.
 Final.jar lib/hibernate-search-analyzers-3.4.0.Final.jar lib/lucene-a
 nalyzers-3.1.0.jar lib/solr-analysis-extras-3.1.0.jar lib/solr-core-3
 .1.0.jar lib/solr-solrj-3.1.0.jar lib/lucene-highlighter-3.1.0.jar li
 b/lucene-memory-3.1.0.jar lib/lucene-misc-3.1.0.jar lib/lucene-spatia
 l-3.1.0.jar lib/lucene-spellchecker-3.1.0.jar lib/solr-commons-csv-3.
 1.0.jar lib/commons-codec-1.4.jar lib/lucene-smartcn-3.1.0.jar lib/lu
 cene-stempel-3.1.0.jar lib/hibernate-commons-annotations-3.2.0.Final.
 jar lib/lucene-core-3.1.0.jar lib/groovy-1.8.0.jar lib/asm-3.2.jar li
 b/asm-commons-3.2.jar lib/asm-util-3.2.jar lib/asm-analysis-3.2.jar l
 ib/asm-tree-3.2.jar lib/gmaven-runtime-default-1.0-rc-3.jar lib/gmave
 n-runtime-1.5-1.0-rc-3.jar lib/gmaven-feature-support-1.0-rc-3.jar li
 b/gmaven-feature-api-1.0-rc-3.jar lib/gmaven-runtime-support-1.0-rc-3
 .jar lib/gmaven-runtime-api-1.0-rc-3.jar lib/gmaven-common-1.0-rc-3.j
 ar lib/plexus-utils-1.5.5.jar lib/qdox-1.6.3.jar lib/jline-0.9.94.jar
  lib/itext-2.0.4-modified.jar

 

 

This is the jboss-deployment-structure.xml under the META-INF directory:

 

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
  <deployment>
    <exclusions>
       <module name="org.hibernate"/>
    </exclusions>
  </deployment>
</jboss-deployment-structure>

 

 

I have no idea what's going wrong here. It seems as though this is an classloading issue?

Can anyone help me please?

  • 1. Re: Migrating to JBoss 7.0.0.Final: SearchException with Hibernate 3
    Scott Marlow Master

    It sounds classloading related to me as well, but thats not clear from the exception (will have to find out what the error means).  I'll ask around.

  • 2. Re: Migrating to JBoss 7.0.0.Final: SearchException with Hibernate 3
    Scott Marlow Master

    Could you include more lines from server.log (from the start of the application deployment) ?  I am wondering if you have JPA elements in the application that triggers deployment code that attempts to use Hibernate4.  Could you also give the contents of myApp-server-2.3.7-SNAPSHOT.jar + myApp-web-2.3.7-SNAPSHOT.war.

  • 3. Re: Migrating to JBoss 7.0.0.Final: SearchException with Hibernate 3
    Thomas T Newbie

    Thanks for your quick response, Scott!

     

    The logfiles (boot.log and server.log) are attached to this post, so are txt-files that describe the contents of the myapp-server.jar and myapp-web.jar (leaving out the version suffix 2.3.7-SNAPSHOT) .

     

    Here is the content of the file myapp-server.jar/META-INF/MANIFEST.MF:

     

    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Created-By: Apache Maven
    Built-By: traude
    Build-Jdk: 1.6.0_26
    Class-Path: hibernate-entitymanager-3.6.3.Final.jar hibernate-core-3.6
     .3.Final.jar dom4j-1.6.1.jar javassist-3.12.0.GA.jar asm-3.1.jar fop-
     1.0.jar xmlgraphics-commons-1.4.jar batik-svg-dom-1.7.jar batik-anim-
     1.7.jar batik-css-1.7.jar batik-dom-1.7.jar batik-parser-1.7.jar bati
     k-util-1.7.jar batik-bridge-1.7.jar batik-script-1.7.jar batik-js-1.7
     .jar batik-xml-1.7.jar batik-awt-util-1.7.jar batik-gvt-1.7.jar batik
     -transcoder-1.7.jar batik-svggen-1.7.jar batik-extension-1.7.jar bati
     k-ext-1.7.jar commons-io-1.3.1.jar avalon-framework-api-4.3.1.jar ava
     lon-framework-impl-4.3.1.jar stringtemplate-3.2.1.jar ganymed-ssh2-bu
     ild210.jar commons-lang-2.5.jar hibernate-search-3.4.0.Final.jar hibe
     rnate-search-analyzers-3.4.0.Final.jar lucene-analyzers-3.1.0.jar sol
     r-analysis-extras-3.1.0.jar solr-core-3.1.0.jar solr-solrj-3.1.0.jar 
     lucene-highlighter-3.1.0.jar lucene-memory-3.1.0.jar lucene-misc-3.1.
     0.jar lucene-spatial-3.1.0.jar lucene-spellchecker-3.1.0.jar solr-com
     mons-csv-3.1.0.jar commons-codec-1.4.jar lucene-smartcn-3.1.0.jar luc
     ene-stempel-3.1.0.jar hibernate-commons-annotations-3.2.0.Final.jar l
     ucene-core-3.1.0.jar groovy-1.8.0.jar asm-commons-3.2.jar asm-util-3.
     2.jar asm-analysis-3.2.jar asm-tree-3.2.jar gmaven-runtime-default-1.
     0-rc-3.jar gmaven-runtime-1.5-1.0-rc-3.jar gmaven-feature-support-1.0
     -rc-3.jar gmaven-feature-api-1.0-rc-3.jar gmaven-runtime-support-1.0-
     rc-3.jar gmaven-runtime-api-1.0-rc-3.jar gmaven-common-1.0-rc-3.jar p
     lexus-utils-1.5.5.jar qdox-1.6.3.jar jline-0.9.94.jar itext-2.0.4-mod
     ified.jar
    

     

  • 4. Re: Migrating to JBoss 7.0.0.Final: SearchException with Hibernate 3
    Hardy Ferentschik Novice

    An alternative approach would be to try the Hibernate Search 4.0.0-SNAPSHOT which is already compatible w/ Hibernate Core 4 (which ships w/ AS7). Hibernate Search 4 underwent quite some refactoring, but unless you depend on some "semi private" interface you should be fine. Also some dependecies have changed, but they should be resolved automatically via Maven (for exmaple Hibernate Search uses now JBoss logging).

     

    Sounds maybe scary, but it is the better solution for the long run. Also the an Alpha1 of Search is not far away.

     

    If you get into trouble you can also get help on the Hibernate Search forum - https://forum.hibernate.org/viewforum.php?f=9

     

    --Hardy

  • 5. Re: Migrating to JBoss 7.0.0.Final: SearchException with Hibernate 3
    Thomas T Newbie

    Thanks, Hardy!

     

    I tried Hibernate Search (Version 4.0.0-20110715.125417-5) and actually my application works (using the Hibernate 4 Versions that ship with JBoss 7). :-)

     

    Now that would be just fine for me. But unfortunately my JUnit tests that depend on Spring (3.0.5) do not run with Hibernate 4. (Well, I suppose the cause is Hibernate 4 because that's the only thing I changed.)

    As mentioned here https://docs.jboss.org/author/display/AS7/Spring+applications+development+and+migration+guide Spring does not yet support Hibernate 4. :-(

     

    So, I think it's a kind of irony :-/

     

    Here are the dependencies of my maven pom.xml:

     

    ...
    <properties>
                        <spring.version>3.0.5.RELEASE</spring.version>
                        <groovy.version>1.8.0</groovy.version>
    </properties>
    ...
    
        <dependencies>
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4.4</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>4.0.0.Beta1</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>javax.transaction</groupId>
                        <artifactId>jta</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>antlr</groupId>
                        <artifactId>antlr</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hibernate-jpa-2.0-api</artifactId>
                        <groupId>org.hibernate.javax.persistence</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search</artifactId>
                <version>4.0.0-20110715.125417-5</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>antlr</groupId>
                        <artifactId>antlr</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-lang</artifactId>
                        <groupId>commons-lang</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hibernate-jpa-2.0-api</artifactId>
                        <groupId>org.hibernate.javax.persistence</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>dom4j</artifactId>
                        <groupId>dom4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hibernate-core</artifactId>
                        <groupId>org.hibernate</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>hibernate-commons-annotations</artifactId>
                        <groupId>org.hibernate</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
    
    
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>4.1.0.Final</version>
                <type>jar</type>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <artifactId>slf4j-api</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.0-api</artifactId>
                <version>1.0.1.Final</version>
                <scope>provided</scope>
            </dependency>
    
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>aopalliance</artifactId>
                        <groupId>aopalliance</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>spring-expression</artifactId>
                        <groupId>org.springframework</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>aopalliance</groupId>
                        <artifactId>aopalliance</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-beans</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-beans</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-context</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-tx</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>1.8.0.10</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>1.6.8</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>2.2</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>fop</artifactId>
                <version>1.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xalan</artifactId>
                        <groupId>xalan</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xml-apis</artifactId>
                        <groupId>xml-apis</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xml-apis-ext</artifactId>
                        <groupId>xml-apis</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>stringtemplate</artifactId>
                <version>3.2.1</version>
                <exclusions>
                    <exclusion>
                        <artifactId>antlr</artifactId>
                        <groupId>antlr</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>ch.ethz.ganymed</groupId>
                <artifactId>ganymed-ssh2</artifactId>
                <version>build210</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.5</version>
                <type>jar</type>
            </dependency>
    
    
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
                <scope>provided</scope>
            </dependency>
    
    
    
    
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>1.0.0.GA</version>
                <type>jar</type>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy</artifactId>
                <version>${groovy.version}</version>
                <type>jar</type>
                <exclusions>
                    <exclusion>
                        <artifactId>antlr</artifactId>
                        <groupId>org.antlr</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy.maven.runtime</groupId>
                <artifactId>gmaven-runtime-default</artifactId>
                <version>1.0-rc-3</version>
                <type>jar</type>
                <scope>compile</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-all-minimal</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>slf4j-api</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>ant</artifactId>
                        <groupId>org.apache.ant</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
    
    
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring.version}</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
                <type>jar</type>
                <scope>test</scope>
            </dependency>
    
    
    
    

     

     

    The error I get when running the tests is:

     

     

    ...
    18.07.2011 09:43:54 org.springframework.test.context.transaction.TransactionalTestExecutionListener startNewTransaction
    INFO: Began transaction (1): transaction manager [org.springframework.orm.jpa.JpaTransactionManager@7b0f4d]; rollback [true]
    18.07.2011 09:43:54 org.hibernate.internal.CoreMessageLogger_$logger warn
    WARN: SQL Error: -20, SQLState: IM001
    18.07.2011 09:43:54 org.hibernate.internal.CoreMessageLogger_$logger error
    ERROR: This function is not supported
    18.07.2011 09:43:54 org.springframework.test.context.transaction.TransactionalTestExecutionListener endTransaction
    INFO: Rolled back transaction after test execution for test context [[TestContext@1183871 testClass = EmployeeDaoTest, locations = array<String>['classpath:META-INF/context.xml'], testInstance = de.adesso.profiler.dao.EmployeeDaoTest@12192a9, testMethod = testNoEhemaligeGroupShouldFail@EmployeeDaoTest, testException = javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: This function is not supported]]
    ...
    

     

     

    I guess the last chance I have is to migrate to Arquilian for my tests: http://www.jboss.org/arquillian

  • 6. Re: Migrating to JBoss 7.0.0.Final: SearchException with Hibernate 3
    Thomas T Newbie

    Ok, here's my fix:

     

    I figured out that somehow the problem in my Tests (with Spring-Test) seemed actually to be the hsqldb that I configured within the spring configuration (xml-file). I changed this to be the embedded h2 database as described here:

     

    http://blog.ralscha.ch/?p=542

     

    Now finally the tests run just fine! :-)