From 71e0f5c99ce17f4f9313689f8b2bb299f22e78fb Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Mon, 18 Feb 2013 16:07:40 +0100 Subject: SONAR-2965 Provide a way to close JPA session to avoid DB timeout Session will now be closed before running maven goals and before sensors. A new session will automatically be opened on next try to access DB. --- .../src/main/java/org/sonar/api/database/DatabaseSession.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sonar-plugin-api') diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java index 634538b7a27..7e78c150103 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java @@ -46,6 +46,13 @@ public abstract class DatabaseSession implements BatchComponent { public abstract void commit(); + /** + * This method should be called before a long period were database will not be accessed + * in order to close database connection and avoid timeout. Next use of the + * database will automatically open a new connection. + */ + public abstract void commitAndClose(); + public abstract void rollback(); public abstract T save(T entity); @@ -65,7 +72,7 @@ public abstract class DatabaseSession implements BatchComponent { public abstract T reattach(Class entityClass, Object primaryKey); public abstract Query createQuery(String hql); - + public abstract Query createNativeQuery(String sql); public abstract T getSingleResult(Query query, T defaultValue); -- cgit v1.2.3