From f1d1f5635a6d452b261c1c29e5c0e43a0320125b Mon Sep 17 00:00:00 2001 From: mcentner Date: Wed, 5 May 2010 16:46:02 +0000 Subject: Added ShutdownHandler to BKULocal. git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@727 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../egiz/bku/local/webapp/BKURequestHandler.java | 8 +++- .../src/main/webapp/WEB-INF/applicationContext.xml | 5 +++ .../gv/egiz/bku/online/webapp/ShutdownHandler.java | 48 ---------------------- .../src/main/webapp/WEB-INF/applicationContext.xml | 2 +- .../at/gv/egiz/bku/spring/ShutdownHandler.java | 48 ++++++++++++++++++++++ 5 files changed, 61 insertions(+), 50 deletions(-) delete mode 100644 BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ShutdownHandler.java create mode 100644 bkucommon/src/main/java/at/gv/egiz/bku/spring/ShutdownHandler.java diff --git a/BKULocal/src/main/java/at/gv/egiz/bku/local/webapp/BKURequestHandler.java b/BKULocal/src/main/java/at/gv/egiz/bku/local/webapp/BKURequestHandler.java index cd81b592..7c6e165f 100644 --- a/BKULocal/src/main/java/at/gv/egiz/bku/local/webapp/BKURequestHandler.java +++ b/BKULocal/src/main/java/at/gv/egiz/bku/local/webapp/BKURequestHandler.java @@ -104,7 +104,6 @@ public class BKURequestHandler extends SpringBKUServlet { if (redirectURL != null) { // send redirect and return resp.sendRedirect(redirectURL); - return; } // wait for the binding processor to finish processing @@ -117,6 +116,13 @@ public class BKURequestHandler extends SpringBKUServlet { log.error("Request processing failed.", e); resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return; + } finally { + bindingProcessorManager.removeBindingProcessor(id); + } + + if (redirectURL != null) { + // already redirected + return; } resp.setStatus(bindingProcessor.getResponseCode()); diff --git a/BKULocal/src/main/webapp/WEB-INF/applicationContext.xml b/BKULocal/src/main/webapp/WEB-INF/applicationContext.xml index f85479cb..62590257 100644 --- a/BKULocal/src/main/webapp/WEB-INF/applicationContext.xml +++ b/BKULocal/src/main/webapp/WEB-INF/applicationContext.xml @@ -191,5 +191,10 @@ + + + + + \ No newline at end of file diff --git a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ShutdownHandler.java b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ShutdownHandler.java deleted file mode 100644 index 39d7368d..00000000 --- a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ShutdownHandler.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2008 Federal Chancellery Austria and - * Graz University of Technology - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package at.gv.egiz.bku.online.webapp; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.ApplicationEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.context.event.ContextClosedEvent; - -import at.gv.egiz.bku.binding.BindingProcessorManager; - -public class ShutdownHandler implements ApplicationListener { - - private final Logger log = LoggerFactory.getLogger(ShutdownHandler.class); - - private BindingProcessorManager bindingProcessorManager; - - public void setBindingProcessorManager( - BindingProcessorManager bindingProcessorManager) { - this.bindingProcessorManager = bindingProcessorManager; - } - - @Override - public void onApplicationEvent(ApplicationEvent event) { - if (event instanceof ContextClosedEvent) { - log.info("Shutting down MOCCA."); - bindingProcessorManager.shutdownNow(); - } - - } - -} diff --git a/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml b/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml index ab8be2b6..6ed5ec3e 100644 --- a/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml +++ b/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml @@ -222,7 +222,7 @@ - + diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/spring/ShutdownHandler.java b/bkucommon/src/main/java/at/gv/egiz/bku/spring/ShutdownHandler.java new file mode 100644 index 00000000..3d48599c --- /dev/null +++ b/bkucommon/src/main/java/at/gv/egiz/bku/spring/ShutdownHandler.java @@ -0,0 +1,48 @@ +/* + * Copyright 2008 Federal Chancellery Austria and + * Graz University of Technology + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package at.gv.egiz.bku.spring; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextClosedEvent; + +import at.gv.egiz.bku.binding.BindingProcessorManager; + +public class ShutdownHandler implements ApplicationListener { + + private final Logger log = LoggerFactory.getLogger(ShutdownHandler.class); + + private BindingProcessorManager bindingProcessorManager; + + public void setBindingProcessorManager( + BindingProcessorManager bindingProcessorManager) { + this.bindingProcessorManager = bindingProcessorManager; + } + + @Override + public void onApplicationEvent(ApplicationEvent event) { + if (event instanceof ContextClosedEvent) { + log.info("Shutting down MOCCA."); + bindingProcessorManager.shutdownNow(); + } + + } + +} -- cgit v1.2.3