diff --git a/pom.xml b/pom.xml
index 60fed0e3bd7a8d451f4353dfc751322e09ad9ac0..2c08dbb493a4bd42c9dc30109a3817afb2796ad0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,12 +64,12 @@
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<targetJdk>1.7</targetJdk>
-		<org.springframework.version>3.2.8.RELEASE</org.springframework.version>
-		<org.hibernate.version>4.3.5.Final</org.hibernate.version>
+		<org.springframework.version>3.2.10.RELEASE</org.springframework.version>
+		<org.hibernate.version>4.3.6.Final</org.hibernate.version>
 		<com.sun.jersey.version>1.17.1</com.sun.jersey.version>
 		<jackson.version>1.9.2</jackson.version>
-		<org.mysql.version>5.1.30</org.mysql.version>
-		<org.postgresql.version>9.3-1101-jdbc41</org.postgresql.version>
+		<org.mysql.version>5.1.31</org.mysql.version>
+		<org.postgresql.version>9.3-1102-jdbc41</org.postgresql.version>
 		<org.infinispan.version>6.0.2.Final</org.infinispan.version>
 		<lucene.version>4.8.0</lucene.version>
 
diff --git a/src/main/java/org/olat/resource/accesscontrol/_spring/acContext.xml b/src/main/java/org/olat/resource/accesscontrol/_spring/acContext.xml
index c1e50aab9dcea7e1eb9856d5db7a8da6c6def028..1f14696ffe7af227af1345f8d7a8939d0cf835e2 100644
--- a/src/main/java/org/olat/resource/accesscontrol/_spring/acContext.xml
+++ b/src/main/java/org/olat/resource/accesscontrol/_spring/acContext.xml
@@ -116,30 +116,8 @@
 		<property name="jobClass" value="org.olat.resource.accesscontrol.manager.ReservationsJob" />
 	</bean>
 	
-	<bean id="acOfferManager" class="org.olat.resource.accesscontrol.manager.ACOfferManagerImpl">
-		<property name="dbInstance" ref="database"/>
-	</bean>
-	
-	<bean id="acMethodManager" class="org.olat.resource.accesscontrol.manager.ACMethodManagerImpl"
-		depends-on="acModule">
-		<constructor-arg index="0" ref="coordinatorManager" />
-		<constructor-arg index="1" ref="acModule" />
-		<property name="dbInstance" ref="database"/>
-		<property name="businessGroupService" ref="businessGroupService"/>
-	</bean>
-	
-	<bean id="acOrderManager" class="org.olat.resource.accesscontrol.manager.ACOrderManagerImpl">
-		<property name="dbInstance" ref="database"/>
-	</bean>
-	
-	<bean id="acTransactionManager" class="org.olat.resource.accesscontrol.manager.ACTransactionManagerImpl">
-		<property name="dbInstance" ref="database"/>
-	</bean>
-	
 	<bean id="freeAccessHandler" class="org.olat.resource.accesscontrol.provider.free.FreeAccessHandler"/>
 	<bean id="tokenAccessHandler" class="org.olat.resource.accesscontrol.provider.token.TokenAccessHandler"/>
-
-	
 	
 	<!--  Orders admin panel -->
 	<bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints">
@@ -160,5 +138,4 @@
 		</property>
 		<property name="order" value="7600" />
 	</bean>
-
-</beans>
+</beans>
\ No newline at end of file
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java
index ccdb93ffa9dea7291f34781fd6af69bbbd645d6e..6fe63d16d780455f1901396f9940bbd10655b4c3 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACFrontendManager.java
@@ -36,7 +36,8 @@ import org.olat.basesecurity.GroupRoles;
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.id.Identity;
 import org.olat.core.id.Roles;
-import org.olat.core.manager.BasicManager;
+import org.olat.core.logging.OLog;
+import org.olat.core.logging.Tracing;
 import org.olat.group.BusinessGroup;
 import org.olat.group.BusinessGroupService;
 import org.olat.group.manager.BusinessGroupDAO;
@@ -79,7 +80,9 @@ import org.springframework.stereotype.Service;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
 @Service("acService")
-public class ACFrontendManager extends BasicManager implements ACService {
+public class ACFrontendManager implements ACService {
+	
+	private static final OLog log = Tracing.createLoggerFor(ACFrontendManager.class);
 	
 	@Autowired
 	private DB dbInstance;
@@ -109,7 +112,6 @@ public class ACFrontendManager extends BasicManager implements ACService {
 	private RepositoryEntryRelationDAO repositoryEntryRelationDao;
 	@Autowired
 	private BusinessGroupService businessGroupService;
-	
 
 	/**
 	 * The rule to access the repository entry:<br/>
@@ -320,13 +322,13 @@ public class ACFrontendManager extends BasicManager implements ACService {
 	@Override
 	public AccessResult accessResource(Identity identity, OfferAccess link, Object argument) {
 		if(link == null || link.getOffer() == null || link.getMethod() == null) {
-			logAudit("Access refused (no offer) to: " + link + " for " + identity);
+			log.audit("Access refused (no offer) to: " + link + " for " + identity);
 			return new AccessResult(false);
 		}
 		
 		AccessMethodHandler handler = accessModule.getAccessMethodHandler(link.getMethod().getType());
 		if(handler == null) {
-			logAudit("Access refused (no handler method) to: " + link + " for " + identity);
+			log.audit("Access refused (no handler method) to: " + link + " for " + identity);
 			return new AccessResult(false);
 		}
 		
@@ -335,13 +337,13 @@ public class ACFrontendManager extends BasicManager implements ACService {
 				Order order = orderManager.saveOneClick(identity, link);
 				AccessTransaction transaction = transactionManager.createTransaction(order, order.getParts().get(0), link.getMethod());
 				transactionManager.save(transaction);
-				logAudit("Access granted to: " + link + " for " + identity);
+				log.audit("Access granted to: " + link + " for " + identity);
 				return new AccessResult(true);
 			} else {
-				logAudit("Access error to: " + link + " for " + identity);
+				log.audit("Access error to: " + link + " for " + identity);
 			}
 		} else {
-			logAudit("Access refused to: " + link + " for " + identity);
+			log.audit("Access refused to: " + link + " for " + identity);
 		}
 		return new AccessResult(false);
 	}
@@ -424,7 +426,7 @@ public class ACFrontendManager extends BasicManager implements ACService {
 		Date oneHourTimeout = cal.getTime();
 		List<ResourceReservation> oldReservations = reservationDao.loadExpiredReservation(oneHourTimeout);
 		for(ResourceReservation reservation:oldReservations) {
-			logAudit("Remove reservation:" + reservation);
+			log.audit("Remove reservation:" + reservation);
 			reservationDao.deleteReservation(reservation);
 		}
 	}
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManagerImpl.java
index 27b08107e9c5fe348940cb11fb983355b536f5fa..7f3574de4b238f7c72627b02a82dd1d928750ee3 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACMethodManagerImpl.java
@@ -38,7 +38,8 @@ import org.olat.core.commons.persistence.DB;
 import org.olat.core.gui.control.Event;
 import org.olat.core.id.Identity;
 import org.olat.core.id.Roles;
-import org.olat.core.manager.BasicManager;
+import org.olat.core.logging.OLog;
+import org.olat.core.logging.Tracing;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.coordinate.CoordinatorManager;
 import org.olat.core.util.event.FrameworkStartedEvent;
@@ -64,6 +65,8 @@ import org.olat.resource.accesscontrol.model.Price;
 import org.olat.resource.accesscontrol.model.PriceMethodBundle;
 import org.olat.resource.accesscontrol.model.TokenAccessMethod;
 import org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * 
@@ -76,33 +79,24 @@ import org.olat.resource.accesscontrol.provider.paypal.model.PaypalAccessMethod;
  * Initial Date:  18 avr. 2011 <br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class ACMethodManagerImpl extends BasicManager implements ACMethodManager, GenericEventListener {
+@Service
+public class ACMethodManagerImpl implements ACMethodManager, GenericEventListener {
+	
+	private static final OLog log = Tracing.createLoggerFor(ACMethodManagerImpl.class);
 
+	@Autowired
 	private DB dbInstance;
-	private final AccessControlModule acModule;
+	@Autowired
 	private BusinessGroupService businessGroupService;
+
+	private final AccessControlModule acModule;
 	
+	@Autowired
 	public ACMethodManagerImpl(CoordinatorManager coordinatorManager, AccessControlModule acModule) {
 		this.acModule = acModule;
 		coordinatorManager.getCoordinator().getEventBus().registerFor(this, null, FrameworkStartupEventChannel.getStartupEventChannel());
 	}
 
-	/**
-	 * [used by Spring]
-	 * @param dbInstance
-	 */
-	public void setDbInstance(DB dbInstance) {
-		this.dbInstance = dbInstance;
-	}
-	
-	/**
-	 * [used by Spring]
-	 * @param businessGroupService
-	 */
-	public void setBusinessGroupService(BusinessGroupService businessGroupService) {
-		this.businessGroupService = businessGroupService;
-	}
-
 	@Override
 	public void event(Event event) {
 		if (event instanceof FrameworkStartedEvent && ((FrameworkStartedEvent) event).isEventOnThisNode()) {
@@ -125,9 +119,9 @@ public class ACMethodManagerImpl extends BasicManager implements ACMethodManager
 			try {
 				dbInstance.saveObject(type.newInstance());
 			} catch (InstantiationException e) {
-				logError("Failed to instantiate an access method", e);
+				log.error("Failed to instantiate an access method", e);
 			} catch (IllegalAccessException e) {
-				logError("Failed to instantiate an access method", e);
+				log.error("Failed to instantiate an access method", e);
 			}
 		} else {
 			for(AccessMethod method:methods) {
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManagerImpl.java
index 3554e016510828eabe427406f03b64966dd3a261..59b25e0e71215566601ca016aa6a2915855ca4a1 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACOfferManagerImpl.java
@@ -32,10 +32,11 @@ import javax.persistence.TemporalType;
 import javax.persistence.TypedQuery;
 
 import org.olat.core.commons.persistence.DB;
-import org.olat.core.manager.BasicManager;
 import org.olat.resource.OLATResource;
 import org.olat.resource.accesscontrol.model.Offer;
 import org.olat.resource.accesscontrol.model.OfferImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * 
@@ -45,21 +46,11 @@ import org.olat.resource.accesscontrol.model.OfferImpl;
  * Initial Date:  14 avr. 2011 <br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class ACOfferManagerImpl extends BasicManager implements ACOfferManager {
+@Service
+public class ACOfferManagerImpl implements ACOfferManager {
 	
+	@Autowired
 	private DB dbInstance;
-
-	private ACOfferManagerImpl() {
-		//
-	}
-	
-	/**
-	 * [used by Spring]
-	 * @param dbInstance
-	 */
-	public void setDbInstance(DB dbInstance) {
-		this.dbInstance = dbInstance;
-	}
 	
 	@Override
 	public List<Offer> findOfferByResource(OLATResource resource, boolean valid, Date atDate) {
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManagerImpl.java
index d0458910af393972e615e110f87b8315e407c330..d51d46dd125935fe09cd9a4b07d8182f9b7e3902 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACOrderManagerImpl.java
@@ -30,7 +30,6 @@ import javax.persistence.TypedQuery;
 
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.id.Identity;
-import org.olat.core.manager.BasicManager;
 import org.olat.resource.OLATResource;
 import org.olat.resource.accesscontrol.model.Offer;
 import org.olat.resource.accesscontrol.model.OfferAccess;
@@ -41,6 +40,8 @@ import org.olat.resource.accesscontrol.model.OrderLineImpl;
 import org.olat.resource.accesscontrol.model.OrderPart;
 import org.olat.resource.accesscontrol.model.OrderPartImpl;
 import org.olat.resource.accesscontrol.model.OrderStatus;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * 
@@ -52,22 +53,12 @@ import org.olat.resource.accesscontrol.model.OrderStatus;
  * Initial Date:  19 avr. 2011 <br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class ACOrderManagerImpl extends BasicManager implements ACOrderManager {
+@Service
+public class ACOrderManagerImpl implements ACOrderManager {
 	
+	@Autowired
 	private DB dbInstance;
 	
-	private ACOrderManagerImpl() {
-		//
-	}
-
-	/**
-	 * [used by Spring]
-	 * @param dbInstance
-	 */
-	public void setDbInstance(DB dbInstance) {
-		this.dbInstance = dbInstance;
-	}
-	
 	@Override
 	public OrderImpl createOrder(Identity delivery) {
 		OrderImpl order = new OrderImpl();
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACReservationDAO.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACReservationDAO.java
index bd9f3dfac212b3b3d707da776753839770c429b8..9c6e5627d3d3665478df7957336065d25d4a2634 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACReservationDAO.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACReservationDAO.java
@@ -38,7 +38,7 @@ import org.springframework.stereotype.Service;
  * 
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-@Service("acReservationDAO")
+@Service
 public class ACReservationDAO {
 	
 	@Autowired
diff --git a/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManagerImpl.java b/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManagerImpl.java
index 23772ac312a48dbfb2199ad26a088fc23db9b419..23268b2b95faaa407d6434da849efee2e2a23920 100644
--- a/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManagerImpl.java
+++ b/src/main/java/org/olat/resource/accesscontrol/manager/ACTransactionManagerImpl.java
@@ -24,13 +24,14 @@ import java.util.Collections;
 import java.util.List;
 
 import org.olat.core.commons.persistence.DB;
-import org.olat.core.manager.BasicManager;
 import org.olat.resource.accesscontrol.model.AccessMethod;
 import org.olat.resource.accesscontrol.model.AccessTransaction;
 import org.olat.resource.accesscontrol.model.AccessTransactionImpl;
 import org.olat.resource.accesscontrol.model.AccessTransactionStatus;
 import org.olat.resource.accesscontrol.model.Order;
 import org.olat.resource.accesscontrol.model.OrderPart;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * 
@@ -41,22 +42,12 @@ import org.olat.resource.accesscontrol.model.OrderPart;
  * Initial Date:  19 avr. 2011 <br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class ACTransactionManagerImpl extends BasicManager implements ACTransactionManager {
+@Service
+public class ACTransactionManagerImpl implements ACTransactionManager {
 	
+	@Autowired
 	private DB dbInstance;
 	
-	private ACTransactionManagerImpl() {
-		//
-	}
-	
-	/**
-	 * [used by Spring]
-	 * @param dbInstance
-	 */
-	public void setDbInstance(DB dbInstance) {
-		this.dbInstance = dbInstance;
-	}
-	
 	@Override
 	public AccessTransaction createTransaction(Order order, OrderPart orderPart, AccessMethod method) {
 		AccessTransactionImpl transaction = new AccessTransactionImpl();