You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Amit Puri <pu...@gmail.com> on 2009/11/19 15:34:46 UTC

Tx is rolling back after NoResultException in OpenJPA 1.2.1/Geronimo 2.1.4

Hi All

I am using Geronimo 2.1.4 that incorporates OpenJPA 1.2.1. In one of my
application, I am getting "NoResultException" from some query. After that my
Transaction is rolling back and it gave exception there. I dont want it to
roll back, Please helping me by giving any pointer.

My logs are like that:

2009-11-19 12:15:58,531 ERROR <openjpa-1.2.1-r2180:4612 nonfatal user error>
org.apache.openjpa.persistence.NoResultException: The query on candidate
type "class -------" with filter
"---------------------------------------------------" was configured to have
a unique result, but no instance matched the query.
    at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1299)
    at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1221)
    at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990)
    at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:848)
    at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:779)
    at
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
    at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:254)
    at
org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:317)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:599)
    at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
    at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
    at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
    at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
    at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
    at
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
    at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
    at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
    at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
    at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
    at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
    at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
    at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
    at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:735)
2009-11-19 12:16:04,281 INFO  [Transaction] TX Required: Committing
transaction org.apache.geronimo.transaction.manager.TransactionImpl@4d004d
2009-11-19 12:16:04,640 WARN  [Transaction] Unexpected exception from
beforeCompletion; transaction will roll back
<openjpa-1.2.1-r2180:4612 fatal general error>
org.apache.openjpa.persistence.PersistenceException: The transaction has
been rolled back.  See the nested exceptions for details on the errors that
occurred.
    at
org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2163)
    at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
    at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
    at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)


Thanks for your help.

Warm Regards,
Amit Puri

Re: Tx is rolling back after NoResultException in OpenJPA 1.2.1/Geronimo 2.1.4

Posted by Daryl Stultz <da...@6degrees.com>.
On Thu, Nov 19, 2009 at 9:34 AM, Amit Puri <pu...@gmail.com> wrote:

> Hi All
>
> I am using Geronimo 2.1.4 that incorporates OpenJPA 1.2.1. In one of my
> application, I am getting "NoResultException" from some query. After that
> my
> Transaction is rolling back and it gave exception there. I dont want it to
> roll back, Please helping me by giving any pointer.
>
> I don't know if this is the best way, but you could query.getResultList()
instead and either find nothing or the first and only item in the list.

-- 
Daryl Stultz
_____________________________________
6 Degrees Software and Consulting, Inc.
http://www.6degrees.com
mailto:daryl@6degrees.com