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