2016-10-15 2 views
-1

Я получаю сообщение об ошибке при выборке спящего режима запроса из моего списка размера 500 погрешности, которую я получаю
вы можете помочь мне, почему я получаю эту ошибкуjava.lang.StackOverflowError при выборке спящего режима запроса

[org.springframework.remoting.support.RemoteInvocationTraceInterceptor] (RMI TCP Connection(2)-192.168.43.183) Processing of RmiServiceExporter remote call resulted in fatal exception: com.elcy.service.LCMessageRmiService.sendReportEmail: java.lang.StackOverflowError 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at java.lang.Class.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at org.hibernate.hql.internal.ast.SqlASTFactory.create(SqlASTFactory.java:260) [hibernate-core-4.3.2.Final.jar:4.3.2.Final] 
    at antlr.ASTFactory.create(ASTFactory.java:153) [antlr-2.7.7.jar:] 
    at antlr.ASTFactory.create(ASTFactory.java:186) [antlr-2.7.7.jar:] 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2038) [hibernate-core-4.3.2.Final.jar:4.3.2.Final] 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) [hibernate-core-4.3.2.Final.jar:4.3.2.Final] 
ERROR [org.jboss.as.ejb3.invocation] (Thread-226 (ActiveMQ-client-global-threads-225168338)) WFLYEJB0034: EJB Invocation failed on component LCMessageMDB for method public void com.elcy.message.LCMessageMDB.onMessage(javax.jms.Message): javax.ejb.EJBTransactionRolledbackException: WFLYEJB0457: Unexpected Error 
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:153) [wildfly-ejb3-10.0.0.Final.jar:10.0.0.Final] 
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:256) [wildfly-ejb3-10.0.0.Final.jar:10.0.0.Final] 
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:329) [wildfly-ejb3-10.0.0.Final.jar:10.0.0.Final] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.8.0_25]` 

`в java.lang.Thread.run (Unknown Source) [rt.jar: 1.8.0_25]

Caused by: java.lang.StackOverflowError 
at java.lang.reflect.Constructor.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at java.lang.Class.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at org.hibernate.hql.internal.ast.SqlASTFactory.create(SqlASTFactory.java:260) 
    at antlr.ASTFactory.create(ASTFactory.java:153) 
    at antlr.ASTFactory.create(ASTFactory.java:186) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2038) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 


my hql query code looks like as given below 
    for (Iterator iterator = resultList.iterator(); iterator.hasNext();) { 
      String id = (String) iterator.next(); 

      if (iterator.hasNext()) 
       sqlQueryBuff.append(" t.id = '" + id + "' OR"); 
      else 
       sqlQueryBuff.append(" t.id = '" + id + "') "); 
     } 
query = session.createQuery(sqlQueryBuff.toString()); 

после этой строки я получаю эту ошибку целом

моя Maven зависимость, как указано ниже

<properties> 
    <jdk.version>1.6</jdk.version> 
    <spring-framework.version>4.0.2.RELEASE</spring-framework.version> 
    <hibernate.version>4.3.2.Final</hibernate.version> 
    <junit.version>4.11</junit.version> 
    <log.version>1.2.14</log.version> 

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

пожалуйста, предложите мне, как решить эту благодаря

+0

Это не ваш код, это исключение из трассировки стека. Если вам действительно нужна помощь, отправьте соответствующий код. – Striezel

+0

спасибо, сэр за ваш ответ, теперь я думаю, что я дал всю информацию относительно этой проблемы. Сообщите мне, если вам нужно больше –

ответ

0

Вы создаете для сложного выражения HQL. Я предлагаю использовать «in» вместо длинного списка «=» и «или»

+0

спасибо за ваше ожидание. Я попытался использовать это, но это не сработало, но им просто интересно, как это будет разрешать ошибку stackoverflow, используя «in» вместо условия «=» –

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