Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » Retry on closed Connection(Difference between EntityManager.createNamedQuery(String, Class).getResultList() and entityManager.createQuery(CriteriaQuery).getResultList() with respect to closed connections)
Retry on closed Connection [message #1058185] Mon, 13 May 2013 07:03 Go to next message
Michael Gruebsch is currently offline Michael Gruebsch
Messages: 16
Registered: March 2012
Junior Member
I am using EclipseLink 2.4.1 with Postgres 9.1.

The calls to
EntityManager.createNamedQuery(String, Class).getResultList()
and
entityManager.createQuery(CriteriaQuery).getResultList()
behave differently with respect to network problems:

When a database connection is closed because the network is down any subsequent call to entityManager.createQuery(CriteriaQuery).getResultList() will fail with a "Connection is closed" exception. However, when calling EntityManager.createNamedQuery(String, Class).getResultList() the same exception occurs but EclipseLink retries the query. In DatabaseAccessor.basicBeginTransaction(AbstractSession) it detects a communication error and in AbstractSession.basicBeginTransaction(Accessor) it retries the query.

My question: Is this by design or is it a bug? Are there any configuration properties which control this behaviour?

Thank you.
Michael
Re: Retry on closed Connection [message #1058614 is a reply to message #1058185] Tue, 14 May 2013 14:44 Go to previous messageGo to next message
James Sutherland is currently offline James Sutherland
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

It should retry the query in both cases, provided you are not in a database transaction.
Does the named query use JPQL, or native SQL?

Please include the exception stack trace.


James : Wiki : Book : Blog : Twitter
Re: Retry on closed Connection [message #1058978 is a reply to message #1058614] Thu, 16 May 2013 06:37 Go to previous messageGo to next message
Michael Gruebsch is currently offline Michael Gruebsch
Messages: 16
Registered: March 2012
Junior Member
Quote:
provided you are not in a database transaction


Both cases are the first statement within a database transaction. Is this relevant? Do I have to query without an transaction if I want retry to work?

Quote:
Does the named query use JPQL, or native SQL?


Native SQL.

Quote:
Please include the exception stack trace.


Here it goes. It is the stack trace which is produced after


  1. Establishing an connection with a successful criteria query
  2. Disabling the network on the server
  3. Runing into a query timeout (javax.persistence.query.timeout)
  4. Getting a Postgres exception "This connection has been closed" after reruning
    the criteria query
  5. Enabling the network on the server
  6. Getting a Postgres exception "This connection has been closed" after reruning
    the criteria query again (see stacktrace below)
  7. After that I run the native SQL query (with result set mapping) and it works, and after that I rerun the criteria query and it worked too (see below of the stacktrace is the logging included)



Thank you!

[EL Finer]: connection: 2013-05-16 08:24:26.562--ServerSession(5035392)--Thread(Thread[main,6,main])--client acquired: 11600272
[EL Finer]: transaction: 2013-05-16 08:24:26.562--ClientSession(11600272)--Thread(Thread[main,6,main])--acquire unit of work: 14534017
[EL Finer]: transaction: 2013-05-16 08:24:26.562--UnitOfWork(14534017)--Thread(Thread[main,6,main])--begin unit of work flush
[EL Finer]: transaction: 2013-05-16 08:24:26.562--UnitOfWork(14534017)--Thread(Thread[main,6,main])--end unit of work flush
[EL Finest]: query: 2013-05-16 08:24:26.562--UnitOfWork(14534017)--Thread(Thread[main,6,main])--Execute query ReadAllQuery(referenceClass=Project )
[EL Finest]: connection: 2013-05-16 08:24:26.562--ServerSession(5035392)--Connection(9838890)--Thread(Thread[main,6,main])--Connection acquired from connection pool [default].
[EL Fine]: sql: 2013-05-16 08:24:26.562--ServerSession(5035392)--Connection(9838890)--Thread(Thread[main,6,main])--SELECT t1.baubedarf_id, t1.baubedarf_hinweis, t1.baubedarf_bemerkung, t1.baubedarf_name, t1.baubedarf_planbetrag, t1.baubedarf_verbrauchsplanbetrag, t1.baubedarf_kuerzel, t1.baubedarf_version, t1.haushaltsjahr_id, t1.gebaeudekomplex_id, t1.einrichtung_id FROM haushalt.haushaltsjahr t0, organisation.einrichtung t2, haushalt.baubedarf t1 WHERE ((t0.haushaltsjahr_id = t1.haushaltsjahr_id) AND (t2.einrichtung_id = t1.einrichtung_id)) ORDER BY t0.haushaltsjahr_kuerzel ASC, t2.einrichtung_kuerzel ASC, t1.baubedarf_kuerzel ASC
[EL Finest]: connection: 2013-05-16 08:24:26.562--ServerSession(5035392)--Connection(9838890)--Thread(Thread[main,6,main])--Connection released to connection pool [default].
[EL Warning]: 2013-05-16 08:24:26.562--UnitOfWork(14534017)--Thread(Thread[main,6,main])--Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: This connection has been closed.
Error Code: 0
Call: SELECT t1.baubedarf_id, t1.baubedarf_hinweis, t1.baubedarf_bemerkung, t1.baubedarf_name, t1.baubedarf_planbetrag, t1.baubedarf_verbrauchsplanbetrag, t1.baubedarf_kuerzel, t1.baubedarf_version, t1.haushaltsjahr_id, t1.gebaeudekomplex_id, t1.einrichtung_id FROM haushalt.haushaltsjahr t0, organisation.einrichtung t2, haushalt.baubedarf t1 WHERE ((t0.haushaltsjahr_id = t1.haushaltsjahr_id) AND (t2.einrichtung_id = t1.einrichtung_id)) ORDER BY t0.haushaltsjahr_kuerzel ASC, t2.einrichtung_kuerzel ASC, t1.baubedarf_kuerzel ASC
Query: ReadAllQuery(referenceClass=Project sql="SELECT t1.baubedarf_id, t1.baubedarf_hinweis, t1.baubedarf_bemerkung, t1.baubedarf_name, t1.baubedarf_planbetrag, t1.baubedarf_verbrauchsplanbetrag, t1.baubedarf_kuerzel, t1.baubedarf_version, t1.haushaltsjahr_id, t1.gebaeudekomplex_id, t1.einrichtung_id FROM haushalt.haushaltsjahr t0, organisation.einrichtung t2, haushalt.baubedarf t1 WHERE ((t0.haushaltsjahr_id = t1.haushaltsjahr_id) AND (t2.einrichtung_id = t1.einrichtung_id)) ORDER BY t0.haushaltsjahr_kuerzel ASC, t2.einrichtung_kuerzel ASC, t1.baubedarf_kuerzel ASC")
	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:646)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:537)
	at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1800)
	at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:566)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:648)
	at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2706)
	at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2659)
	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:421)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1150)
	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:852)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1109)
	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:393)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1197)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2875)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1602)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1584)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1549)
	at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:231)
	at org.eclipse.persistence.internal.jpa.QueryImpl.getResultList(QueryImpl.java:411)
	at de.viate.gwai.core.dao.entity.JPACachedDataProvider.initialize(JPACachedDataProvider.java:76)
	at de.viate.gwai.core.dao.entity.JPAShortcutAwareDataProvider.initialize(JPAShortcutAwareDataProvider.java:58)
	at de.viate.gwai.core.dao.entity.JPADataProvider.initialize(JPADataProvider.java:91)
	at de.viate.gwai.core.dao.entity.JPACachedDataProvider.getDataEntryList(JPACachedDataProvider.java:143)
	at de.viate.gwai.core.gui.views.MasterDetailDataEditorPage.getDataEntryList(MasterDetailDataEditorPage.java:1196)
	at de.viate.gwai.core.gui.views.MasterDetailDataEditorPage.updateTableContent(MasterDetailDataEditorPage.java:1223)
	at de.viate.gwai.core.gui.views.MasterDetailDataEditorPage.initializeContent(MasterDetailDataEditorPage.java:1712)
	at de.viate.gwai.core.gui.views.MasterDetailDataEditorPage.refreshDataPagePart(MasterDetailDataEditorPage.java:1234)
	at de.viate.gwai.core.gui.views.MasterDetailDataEditorPage$4.run(MasterDetailDataEditorPage.java:210)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at de.viate.matiyari.rcp.ui.forms.FormActionDecorator$2.run(FormActionDecorator.java:366)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at de.viate.matiyari.rcp.ui.forms.FormActionDecorator.runWithEvent(FormActionDecorator.java:361)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at de.viate.matiyari.rcp.ui.application.DefaultApplication.start(DefaultApplication.java:158)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Caused by: org.postgresql.util.PSQLException: This connection has been closed.
	at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:822)
	at org.postgresql.jdbc3.AbstractJdbc3Connection.prepareStatement(AbstractJdbc3Connection.java:273)
	at org.postgresql.jdbc2.AbstractJdbc2Connection.prepareStatement(AbstractJdbc2Connection.java:301)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1481)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1430)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:705)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:587)
	... 62 more
[EL Finer]: transaction: 2013-05-16 08:24:26.562--UnitOfWork(14534017)--Thread(Thread[main,6,main])--release unit of work
[EL Finer]: connection: 2013-05-16 08:24:26.562--ClientSession(11600272)--Thread(Thread[main,6,main])--client released



This is the logging of the native sql query afterwards:
[EL Finer]: connection: 2013-05-16 08:31:47.718--ServerSession(5035392)--Thread(Thread[main,6,main])--client acquired: 9684455
[EL Finer]: transaction: 2013-05-16 08:31:47.718--ClientSession(9684455)--Thread(Thread[main,6,main])--acquire unit of work: 27649252
[EL Finer]: transaction: 2013-05-16 08:31:47.718--UnitOfWork(27649252)--Thread(Thread[main,6,main])--begin unit of work flush
[EL Finer]: transaction: 2013-05-16 08:31:47.718--UnitOfWork(27649252)--Thread(Thread[main,6,main])--end unit of work flush
[EL Finest]: query: 2013-05-16 08:31:47.718--UnitOfWork(27649252)--Thread(Thread[main,6,main])--Execute query ResultSetMappingQuery(name="selectRecentTasks" sql="select s.aufgabe_id, s.aufgabe_typ, s.aufgabe_name, s.aufgabe_datum, s.aufgabe_erledigt, s.aufgabe_hinweis, s.aufgabe_bemerkung, s.kontierung_id, s.aufgabe_version from kontierung.aufgabe s where s.aufgabe_datum - ? <= current_date and s.aufgabe_erledigt = false")
[EL Finest]: connection: 2013-05-16 08:31:47.718--ServerSession(5035392)--Connection(9838890)--Thread(Thread[main,6,main])--Connection acquired from connection pool [default].
[EL Finer]: transaction: 2013-05-16 08:31:47.718--ClientSession(9684455)--Connection(9838890)--Thread(Thread[main,6,main])--begin transaction
[EL Fine]: sql: 2013-05-16 08:31:47.718--ClientSession(9684455)--Thread(Thread[main,6,main])--SELECT 1
[EL Info]: 2013-05-16 08:31:47.718--ClientSession(9684455)--Thread(Thread[main,6,main])--Communication failure detected when attempting to create transaction on database.  Attempting to retry begin transaction. Error was: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: This connection has been closed.
Error Code: 0.
[EL Finest]: connection: 2013-05-16 08:31:47.718--ServerSession(5035392)--Connection(9838890)--Thread(Thread[main,6,main])--Connection released to connection pool [default].
[EL Config]: connection: 2013-05-16 08:31:47.718--ServerSession(5035392)--Connection(9838890)--Thread(Thread[main,6,main])--disconnect
[EL Config]: connection: 2013-05-16 08:31:47.718--ServerSession(5035392)--Connection(28250063)--Thread(Thread[main,6,main])--connecting(DatabaseLogin(
	platform=>PostgreSQLPlatform
	user name=> "naflima"
	datasource URL=> "jdbc:postgresql://gwai.viate.de:5432/naflima"
))
[EL Config]: connection: 2013-05-16 08:31:47.75--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--Connected: jdbc:postgresql://gwai.viate.de:5432/naflima
	User: naflima
	Database: PostgreSQL  Version: 9.1.9
	Driver: PostgreSQL Native Driver  Version: PostgreSQL 9.2 JDBC4 (build 1002)
[EL Finest]: connection: 2013-05-16 08:31:47.75--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--Connection acquired from connection pool [default].
[EL Finer]: transaction: 2013-05-16 08:31:47.75--ClientSession(9684455)--Connection(2100492)--Thread(Thread[main,6,main])--begin transaction
[EL Fine]: sql: 2013-05-16 08:31:47.75--ClientSession(9684455)--Connection(2100492)--Thread(Thread[main,6,main])--select s.aufgabe_id, s.aufgabe_typ, s.aufgabe_name, s.aufgabe_datum, s.aufgabe_erledigt, s.aufgabe_hinweis, s.aufgabe_bemerkung, s.kontierung_id, s.aufgabe_version from kontierung.aufgabe s where s.aufgabe_datum - ? <= current_date and s.aufgabe_erledigt = false
	bind => [14]
[EL Finer]: transaction: 2013-05-16 08:31:47.75--UnitOfWork(27649252)--Thread(Thread[main,6,main])--begin unit of work flush
[EL Finer]: transaction: 2013-05-16 08:31:47.75--UnitOfWork(27649252)--Thread(Thread[main,6,main])--end unit of work flush
[EL Finest]: query: 2013-05-16 08:31:47.75--UnitOfWork(27649252)--Thread(Thread[main,6,main])--Execute query ResultSetMappingQuery(name="selectRecentVirtualTasks" sql="select aufgabe_typ, aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from (select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Abgabedatum union all select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Pruefdatum ) v where aufgabe_datum <= current_date")
[EL Fine]: sql: 2013-05-16 08:31:47.75--ClientSession(9684455)--Connection(2100492)--Thread(Thread[main,6,main])--select aufgabe_typ, aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from (select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Abgabedatum union all select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Pruefdatum ) v where aufgabe_datum <= current_date
	bind => [7, 9]
[EL Finer]: transaction: 2013-05-16 08:31:47.765--UnitOfWork(27649252)--Thread(Thread[main,6,main])--begin unit of work commit
[EL Finer]: transaction: 2013-05-16 08:31:47.765--ClientSession(9684455)--Connection(2100492)--Thread(Thread[main,6,main])--commit transaction
[EL Finest]: connection: 2013-05-16 08:31:47.765--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--Connection released to connection pool [default].
[EL Finer]: transaction: 2013-05-16 08:31:47.765--UnitOfWork(27649252)--Thread(Thread[main,6,main])--end unit of work commit
[EL Finer]: transaction: 2013-05-16 08:31:47.765--UnitOfWork(27649252)--Thread(Thread[main,6,main])--resume unit of work
[EL Finer]: transaction: 2013-05-16 08:31:47.765--UnitOfWork(27649252)--Thread(Thread[main,6,main])--release unit of work
[EL Finer]: connection: 2013-05-16 08:31:47.765--ClientSession(9684455)--Thread(Thread[main,6,main])--client released
[EL Finer]: connection: 2013-05-16 08:31:48.875--ServerSession(5035392)--Thread(Thread[main,6,main])--client acquired: 14809964
[EL Finer]: transaction: 2013-05-16 08:31:48.875--ClientSession(14809964)--Thread(Thread[main,6,main])--acquire unit of work: 4293214
[EL Finer]: transaction: 2013-05-16 08:31:48.875--UnitOfWork(4293214)--Thread(Thread[main,6,main])--begin unit of work flush
[EL Finer]: transaction: 2013-05-16 08:31:48.875--UnitOfWork(4293214)--Thread(Thread[main,6,main])--end unit of work flush
[EL Finest]: query: 2013-05-16 08:31:48.875--UnitOfWork(4293214)--Thread(Thread[main,6,main])--Execute query ResultSetMappingQuery(name="selectRecentTasks" sql="select s.aufgabe_id, s.aufgabe_typ, s.aufgabe_name, s.aufgabe_datum, s.aufgabe_erledigt, s.aufgabe_hinweis, s.aufgabe_bemerkung, s.kontierung_id, s.aufgabe_version from kontierung.aufgabe s where s.aufgabe_datum - ? <= current_date and s.aufgabe_erledigt = false")
[EL Finest]: connection: 2013-05-16 08:31:48.875--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--Connection acquired from connection pool [default].
[EL Finer]: transaction: 2013-05-16 08:31:48.875--ClientSession(14809964)--Connection(2100492)--Thread(Thread[main,6,main])--begin transaction
[EL Fine]: sql: 2013-05-16 08:31:48.875--ClientSession(14809964)--Connection(2100492)--Thread(Thread[main,6,main])--select s.aufgabe_id, s.aufgabe_typ, s.aufgabe_name, s.aufgabe_datum, s.aufgabe_erledigt, s.aufgabe_hinweis, s.aufgabe_bemerkung, s.kontierung_id, s.aufgabe_version from kontierung.aufgabe s where s.aufgabe_datum - ? <= current_date and s.aufgabe_erledigt = false
	bind => [14]
[EL Finer]: transaction: 2013-05-16 08:31:48.875--UnitOfWork(4293214)--Thread(Thread[main,6,main])--begin unit of work flush
[EL Finer]: transaction: 2013-05-16 08:31:48.875--UnitOfWork(4293214)--Thread(Thread[main,6,main])--end unit of work flush
[EL Finest]: query: 2013-05-16 08:31:48.875--UnitOfWork(4293214)--Thread(Thread[main,6,main])--Execute query ResultSetMappingQuery(name="selectRecentVirtualTasks" sql="select aufgabe_typ, aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from (select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Abgabedatum union all select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Pruefdatum ) v where aufgabe_datum <= current_date")
[EL Fine]: sql: 2013-05-16 08:31:48.875--ClientSession(14809964)--Connection(2100492)--Thread(Thread[main,6,main])--select aufgabe_typ, aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from (select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Abgabedatum union all select aufgabe_typ, kontierung_faelligkeitsdatum - ? as aufgabe_datum, haushaltsjahr_kuerzel, kontierung_nummer, kontierung_typ from Kontierung.v_Aufgabe_Pruefdatum ) v where aufgabe_datum <= current_date
	bind => [7, 9]
[EL Finer]: transaction: 2013-05-16 08:31:48.875--UnitOfWork(4293214)--Thread(Thread[main,6,main])--begin unit of work commit
[EL Finer]: transaction: 2013-05-16 08:31:48.875--ClientSession(14809964)--Connection(2100492)--Thread(Thread[main,6,main])--commit transaction
[EL Finest]: connection: 2013-05-16 08:31:48.89--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--Connection released to connection pool [default].
[EL Finer]: transaction: 2013-05-16 08:31:48.89--UnitOfWork(4293214)--Thread(Thread[main,6,main])--end unit of work commit
[EL Finer]: transaction: 2013-05-16 08:31:48.89--UnitOfWork(4293214)--Thread(Thread[main,6,main])--resume unit of work
[EL Finer]: transaction: 2013-05-16 08:31:48.89--UnitOfWork(4293214)--Thread(Thread[main,6,main])--release unit of work
[EL Finer]: connection: 2013-05-16 08:31:48.89--ClientSession(14809964)--Thread(Thread[main,6,main])--client released
[EL Finer]: connection: 2013-05-16 08:31:50.562--ServerSession(5035392)--Thread(Thread[main,6,main])--client acquired: 9246720
[EL Finer]: transaction: 2013-05-16 08:31:50.562--ClientSession(9246720)--Thread(Thread[main,6,main])--acquire unit of work: 19062963
[EL Finer]: transaction: 2013-05-16 08:31:50.562--UnitOfWork(19062963)--Thread(Thread[main,6,main])--begin unit of work flush
[EL Finer]: transaction: 2013-05-16 08:31:50.562--UnitOfWork(19062963)--Thread(Thread[main,6,main])--end unit of work flush
[EL Finest]: query: 2013-05-16 08:31:50.562--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Execute query ReadAllQuery(referenceClass=Project )
[EL Finest]: connection: 2013-05-16 08:31:50.562--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--Connection acquired from connection pool [default].
[EL Fine]: sql: 2013-05-16 08:31:50.562--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--SELECT t1.baubedarf_id, t1.baubedarf_hinweis, t1.baubedarf_bemerkung, t1.baubedarf_name, t1.baubedarf_planbetrag, t1.baubedarf_verbrauchsplanbetrag, t1.baubedarf_kuerzel, t1.baubedarf_version, t1.haushaltsjahr_id, t1.gebaeudekomplex_id, t1.einrichtung_id FROM haushalt.haushaltsjahr t0, organisation.einrichtung t2, haushalt.baubedarf t1 WHERE ((t0.haushaltsjahr_id = t1.haushaltsjahr_id) AND (t2.einrichtung_id = t1.einrichtung_id)) ORDER BY t0.haushaltsjahr_kuerzel ASC, t2.einrichtung_kuerzel ASC, t1.baubedarf_kuerzel ASC
[EL Finest]: connection: 2013-05-16 08:31:50.578--ServerSession(5035392)--Connection(2100492)--Thread(Thread[main,6,main])--Connection released to connection pool [default].
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@2
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroupReferenceBuildung@5
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroupReferenceBuildung@6
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@2
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@2
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@2
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@9
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@3
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@a
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@6
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@6
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@7
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@6
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@8
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@6
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@5
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@0
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@4
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.578--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@9
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@2
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@b
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@f
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@4
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@b
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@2
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@a
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@2
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@8
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@c
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@4
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@8
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@3
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@11
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroupReferenceBuildung@10
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@11
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroupReferenceBuildung@13
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@2
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@11
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroupReferenceBuildung@17
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@6
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@11
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroupReferenceBuildung@1a
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@b
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@9
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@b
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingGroup@11
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@5
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@2
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@7
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@3
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@4
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@7
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.BudgetYear@3
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@a
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@2
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@5
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@a
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.BuildingHistory@6
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.infrastructure.Building@a
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Institution@2
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.ProjectReferenceDepartment@8
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.organisation.Department@1
[EL Finest]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--Register the existing object de.viate.gwai.core.dao.entity.budget.Project@9
[EL Finer]: transaction: 2013-05-16 08:31:50.593--UnitOfWork(19062963)--Thread(Thread[main,6,main])--begin unit of work commit
[EL Finer]: transaction: 2013-05-16 08:31:50.609--UnitOfWork(19062963)--Thread(Thread[main,6,main])--end unit of work commit
[EL Finer]: transaction: 2013-05-16 08:31:50.609--UnitOfWork(19062963)--Thread(Thread[main,6,main])--resume unit of work
[EL Finer]: transaction: 2013-05-16 08:31:50.609--UnitOfWork(19062963)--Thread(Thread[main,6,main])--release unit of work
[EL Finer]: connection: 2013-05-16 08:31:50.609--ClientSession(9246720)--Thread(Thread[main,6,main])--client released
Re: Retry on closed Connection [message #1060020 is a reply to message #1058978] Wed, 22 May 2013 14:44 Go to previous messageGo to next message
James Sutherland is currently offline James Sutherland
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

My guess is this is because it is in a transaction, and using native SQL.

When using JPQL, EclipseLink knows the query is just a read, so does not need to begin a database transaction, so can retry the query.
With native SQL, the SQL may require a database transaction, so one is started, so the query cannot be retried, without retrying the entire transaction, which EclipseLink cannot do. You need to handle this in your own code, with a try/catch around your entire transaction and retry.

You could try executing the query outside of a transaction, or set the query to be read-only ("eclipselink.read-only") or set the query hint "eclipselink.exclusive-connection"="false".


James : Wiki : Book : Blog : Twitter
Re: Retry on closed Connection [message #1060029 is a reply to message #1060020] Wed, 22 May 2013 15:02 Go to previous message
Michael Gruebsch is currently offline Michael Gruebsch
Messages: 16
Registered: March 2012
Junior Member
James Sutherland wrote on Wed, 22 May 2013 10:44
My guess is this is because it is in a transaction, and using native SQL.

When using JPQL, EclipseLink knows the query is just a read, so does not need to begin a database transaction, so can retry the query.
With native SQL, the SQL may require a database transaction, so one is started, so the query cannot be retried, without retrying the entire transaction, which EclipseLink cannot do.


Thanks for the answer. However, it is the opposite way. The named query with native SQL works (retries the connection as expected) while the criteria query doesn't work (fails on closed connection).

Previous Topic:ReadallQuery alias setting
Next Topic:What is happening here
Goto Forum:
  


Current Time: Mon Sep 22 08:24:05 GMT 2014

Powered by FUDForum. Page generated in 0.08265 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software