diff --git a/apps/meta-war/src/main/webapp/WEB-INF/web.xml b/apps/meta-war/src/main/webapp/WEB-INF/web.xml
index 1c2915ffe..50a78a646 100644
--- a/apps/meta-war/src/main/webapp/WEB-INF/web.xml
+++ b/apps/meta-war/src/main/webapp/WEB-INF/web.xml
@@ -1,24 +1,29 @@
spray.servlet.Initializer
+
+
+ net.shrine.hornetqmom.HornetQShutdownContextListener
+
+
SprayConnectorServlet
spray.servlet.Servlet30ConnectorServlet
true
SprayConnectorServlet
/*
diff --git a/messagequeue/hornetqmom/pom.xml b/messagequeue/hornetqmom/pom.xml
index 80d9c8ae6..d846e7829 100644
--- a/messagequeue/hornetqmom/pom.xml
+++ b/messagequeue/hornetqmom/pom.xml
@@ -1,80 +1,86 @@
4.0.0
SHRINE HornetQMom
shrine-hornetqmom
jar
net.shrine
shrine-base
1.23.5.1-SNAPSHOT
../../pom.xml
src/main/scala
src/test/scala
net.alchim31.maven
scala-maven-plugin
org.apache.maven.plugins
maven-jar-plugin
test-jar
net.shrine
shrine-test-commons
${project.version}
test-jar
test
net.shrine
shrine-config
${project.version}
io.spray
spray-routing_2.11
${spray-version}
io.spray
spray-testkit_2.11
${spray-version}
test
org.json4s
json4s-native_2.11
${json4s-version}
com.typesafe.akka
akka-slf4j_2.11
${akka-version}
net.shrine
shrine-messagequeueservice
${project.version}
org.hornetq
hornetq-server
2.4.7.Final
+
+ javax.servlet
+ javax.servlet-api
+ 3.0.1
+ provided
+
diff --git a/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/HornetQShutdownContextListener.scala b/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/HornetQShutdownContextListener.scala
new file mode 100644
index 000000000..6ac7303ea
--- /dev/null
+++ b/messagequeue/hornetqmom/src/main/scala/net/shrine/hornetqmom/HornetQShutdownContextListener.scala
@@ -0,0 +1,29 @@
+package net.shrine.hornetqmom
+import javax.servlet.{ServletContextEvent, ServletContextListener}
+
+import akka.event.Logging
+import spray.routing.directives.LogEntry
+
+/**
+ * Created by yifan on 8/31/17.
+ */
+
+class HornetQShutdownContextListener extends ServletContextListener {
+ private val hornetQServer: String = "HornetQServer"
+ private val hornetQServerStopper: String = "HornetQServerStopper"
+
+
+ override def contextInitialized(servletContextEvent: ServletContextEvent): Unit = {
+// val ctx = servletContextEvent.getServletContext
+// ctx.setAttribute(hornetQServer, LocalHornetQMom)
+// ctx.setAttribute(hornetQServerStopper, LocalHornetQMomStopper)
+ LogEntry(s"Tomcat context initialized for meta-app", Logging.InfoLevel)
+
+ }
+
+ override def contextDestroyed(servletContextEvent: ServletContextEvent): Unit = {
+// val ctx = servletContextEvent.getServletContext
+ LocalHornetQMomStopper.stop()
+ LogEntry(s"Tomcat context destroyed and HornetQ server is stopped for meta-app", Logging.InfoLevel)
+ }
+}
\ No newline at end of file