diff --git a/INSTALL.APPSERVER.README b/INSTALL.APPSERVER.README
index 6e66b50d3a63f6fe32ce142815a3efd437268fff..a8f55bce0fa62bbcad9acf5444aff00f9e70c3f2 100644
--- a/INSTALL.APPSERVER.README
+++ b/INSTALL.APPSERVER.README
@@ -36,6 +36,8 @@ Configuration JBoss AS 7.1
      jms.broker.jndi=java:/ConnectionFactory
      sysbus.broker.jndi=java:jboss/exported/jms/topic/sysbus
      search.broker.jndi=java:jboss/exported/jms/queue/searchQueue
+     index.broker.jndi=java:jboss/exported/jms/queue/indexQueue
+     exam.broker.jndi=java:jboss/exported/jms/queue/examQueue
 
 
 Configuration Glassfish 3.1
@@ -61,6 +63,8 @@ Configuration Glassfish 3.1
      jms.broker.jndi=OpenOLATConnectionFactory
      sysbus.broker.jndi=topic/sysbus
      search.broker.jndi=queue/searchQueue
+     index.broker.jndi=queue/indexQueue
+     exam.broker.jndi=queue/examQueue
 
 
 Features located on the application server
diff --git a/src/main/java/de/bps/onyx/util/ExamPoolManagerProvider.java b/src/main/java/de/bps/onyx/util/ExamPoolManagerProvider.java
index 883f520125c29cf108a38a152da3b519b670ccf9..8812e7ceedffa35f0b4e85db46970815acec2b45 100644
--- a/src/main/java/de/bps/onyx/util/ExamPoolManagerProvider.java
+++ b/src/main/java/de/bps/onyx/util/ExamPoolManagerProvider.java
@@ -197,6 +197,30 @@ public class ExamPoolManagerProvider implements MessageListener {
 		connection.start();
 		log.info("springInit: JMS connection started with connectionFactory=" + connectionFactory);
 	}
+	
+
+	public void springStop() throws JMSException {
+		closeQueue();
+	}
+	
+	private void closeQueue() {
+		if(consumer != null) {
+			try {
+				consumer.close();
+				System.out.println("Close consumer exam pool");
+			} catch (JMSException e) {
+				log.error("", e);
+			}
+		}
+		if(connection != null) {
+			try {
+				connection.close();
+				System.out.println("Close connection exam pool");
+			} catch (JMSException e) {
+				log.error("", e);
+			}
+		}
+	}
 
 	private synchronized Session acquireSession() throws JMSException {
 		if (sessions.size() == 0) {
diff --git a/src/main/java/de/bps/onyx/util/_spring/examControlContext.xml b/src/main/java/de/bps/onyx/util/_spring/examControlContext.xml
index 8aa0ed03e83bbe52f04e26554bd4453da24565ac..0d4a688f4e598dd4ba24de4232e73306de5501cc 100644
--- a/src/main/java/de/bps/onyx/util/_spring/examControlContext.xml
+++ b/src/main/java/de/bps/onyx/util/_spring/examControlContext.xml
@@ -1,13 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:context="http://www.springframework.org/schema/context" 
 	xsi:schemaLocation="http://www.springframework.org/schema/beans 
-                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
-                        http://www.springframework.org/schema/context 
-                        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
-
-	<context:property-placeholder location="classpath:serviceconfig/olat.properties, classpath:olat.local.properties" />
+                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 
 	<!-- general reference-holder -->
 	<!-- ================================= -->
@@ -18,7 +13,7 @@
 	<!-- SEARCH SERVICE SIDE CONFIGURATION -->
 	<!-- ================================= -->
 
-	<bean id="examControl.master.true" class="de.bps.onyx.util.ExamPoolManagerProvider" init-method="springInit" lazy-init="true">
+	<bean id="examControl.master.true" class="de.bps.onyx.util.ExamPoolManagerProvider" init-method="springInit" destroy-method="springStop" lazy-init="true">
 		<constructor-arg name="examPoolManager" ref="examPoolManagerServer"/>
 		<property name="connectionFactory" ref="examControlConnectionFactory"/>
 		<property name="searchQueue" ref="examControlQueue"/>
@@ -37,19 +32,14 @@
 		<property name="timeToLive" value="45000"/>
 	</bean>
 
+	<!-- SEARCH COMMON CONFIGURATION (PROXY-SIDE AND SERVICE-SIDE) -->
+	<!-- ========================================================= -->
+	
+	
 	<!-- SEARCH COMMON CONFIGURATION (PROXY-SIDE AND SERVICE-SIDE) -->
 	<!-- ========================================================= -->
 
-	<!-- JMS Stuff -->
-	<bean id="examControlConnectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory" lazy-init="true">
-		<property name="brokerURL" value="${search.broker.url}" /> 
-	</bean>
-
-	<!-- used for sending the search requests -->
-	<bean id="examControlQueue" class="org.apache.activemq.command.ActiveMQQueue" lazy-init="true">
-		<constructor-arg value="olat/examQueue" />
-	</bean>
-
+	<import resource="classpath:de/bps/onyx/util/_spring/examControlJms_${jms.provider}.xml" />
 
 </beans>
 
diff --git a/src/main/java/de/bps/onyx/util/_spring/examControlJms_activemq.xml b/src/main/java/de/bps/onyx/util/_spring/examControlJms_activemq.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6a4efda04676ff3393cac9d1727eec9dd58e1e6d
--- /dev/null
+++ b/src/main/java/de/bps/onyx/util/_spring/examControlJms_activemq.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans 
+                        http://www.springframework.org/schema/beans/spring-beans.xsd">
+                        
+	<!-- JMS Stuff -->
+	<bean id="examControlConnectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory" lazy-init="true">
+		<property name="brokerURL" value="${search.broker.url}" /> 
+	</bean>
+
+	<!-- used for sending the search requests -->
+	<bean id="examControlQueue" class="org.apache.activemq.command.ActiveMQQueue" lazy-init="true">
+		<constructor-arg value="olat/examQueue" />
+	</bean>
+
+</beans>
diff --git a/src/main/java/de/bps/onyx/util/_spring/examControlJms_jndi.xml b/src/main/java/de/bps/onyx/util/_spring/examControlJms_jndi.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f22a8d5c1f7fd1d348599223b998f4cdcd5c1d62
--- /dev/null
+++ b/src/main/java/de/bps/onyx/util/_spring/examControlJms_jndi.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans 
+                        http://www.springframework.org/schema/beans/spring-beans.xsd">
+                        
+	<!-- JMS Stuff -->
+	<bean id="examControlConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true">
+        <property name="jndiName"><value>${jms.broker.jndi}</value></property>
+    </bean>
+
+	<!-- used for sending the search requests -->
+	<bean id="examControlQueue" class="org.apache.activemq.command.ActiveMQQueue" lazy-init="true">
+		<constructor-arg value="olat/examQueue" />
+	</bean>           
+                        
+            
+    <bean id="examControlQueue" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true">
+		<property name="jndiName"><value>${exam.broker.jndi}</value></property>
+	</bean>            
+                        
+
+	<!-- JMS Stuff -->
+	<bean id="searchConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true">
+        <property name="jndiName"><value>${jms.broker.jndi}</value></property>
+    </bean>
+    <bean id="searchQueue" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true">
+		<property name="jndiName"><value>${search.broker.jndi}</value></property>
+	</bean>
+	
+	<bean id="indexConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true">
+        <property name="jndiName"><value>${jms.broker.jndi}</value></property>
+    </bean>
+    <bean id="indexQueue" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true">
+		<property name="jndiName"><value>${index.broker.jndi}</value></property>
+	</bean>
+</beans>
diff --git a/src/main/java/org/olat/search/service/indexer/JmsIndexer.java b/src/main/java/org/olat/search/service/indexer/JmsIndexer.java
index a521c2f6038c1891accdb7468fb9c4ae4a669028..89bbe6c84658f854ed33389b38205cb6dd6cbd00 100644
--- a/src/main/java/org/olat/search/service/indexer/JmsIndexer.java
+++ b/src/main/java/org/olat/search/service/indexer/JmsIndexer.java
@@ -211,6 +211,7 @@ public class JmsIndexer implements MessageListener, LifeFullIndexer {
 		if(consumer != null) {
 			try {
 				consumer.close();
+				System.out.println("Close consumer JMSINDEXER");
 			} catch (JMSException e) {
 				log.error("", e);
 			}
@@ -219,6 +220,7 @@ public class JmsIndexer implements MessageListener, LifeFullIndexer {
 			try {
 				indexerSession.close();
 				connection.close();
+				System.out.println("Close connection JMSINDEXER");
 			} catch (JMSException e) {
 				log.error("", e);
 			}
diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties
index a139d207c5ad1411f3a1c3f869d0b9ffca62633b..8cd3b2e52ea879265b7ca14f834a2384c428c9ca 100644
--- a/src/main/resources/serviceconfig/olat.properties
+++ b/src/main/resources/serviceconfig/olat.properties
@@ -674,6 +674,7 @@ jms.broker.jndi=OpenOLATConnectionFactory
 sysbus.broker.jndi=topic/sysbus
 search.broker.jndi=queue/searchQueue
 index.broker.jndi=queue/indexQueue
+exam.broker.jndi=queue/examQueue
 
 
 # enable/disable codepoint/breakpoint framework