File was renamed from src/de/uhilger/mediaz/handler/StopServerHandler.java |
| | |
| | | You should have received a copy of the GNU Affero General Public License |
| | | along with this program. If not, see <https://www.gnu.org/licenses/>. |
| | | */ |
| | | package de.uhilger.mediaz.handler; |
| | | package de.uhilger.mediaz.api; |
| | | |
| | | import com.sun.net.httpserver.HttpExchange; |
| | | import com.sun.net.httpserver.HttpHandler; |
| | |
| | | * @author Ulrich Hilger |
| | | */ |
| | | public class StopServerHandler implements HttpHandler { |
| | | |
| | | /* Der Logger fuer diesen StopServerHandler */ |
| | | private static final Logger logger = Logger.getLogger(StopServerHandler.class.getName()); |
| | | |
| | | /* ResourceBundle-Kennungen */ |
| | | public static final String RB_STOPPING_SERVER = "stoppingServer"; |
| | | public static final String RB_SERVER_STOPPED = "serverStopped"; |
| | | public static final String RB_MEDIAZ_END = "mediazEnd"; |
| | | |
| | | /** |
| | | * Den Server geordnet herunterfahren und |
| | |
| | | @Override |
| | | public void handle(HttpExchange e) throws IOException { |
| | | Logger.getLogger(StopServerHandler.class.getName()).info(e.getRequestURI().toString()); |
| | | String response = "Server stopped"; |
| | | String response = App.getRs(RB_SERVER_STOPPED); |
| | | e.sendResponseHeaders(200, response.length()); |
| | | OutputStream os = e.getResponseBody(); |
| | | os.write(response.getBytes()); |
| | | os.flush(); |
| | | os.close(); |
| | | Logger.getLogger(StopServerHandler.class.getName()).info("stopping server."); |
| | | logger.info(App.getRs(RB_STOPPING_SERVER)); |
| | | e.getHttpContext().getServer().stop(1); |
| | | Timer timer = new Timer(); |
| | | timer.schedule(new AppStopper(), 2000); |
| | |
| | | |
| | | @Override |
| | | public void run() { |
| | | Logger.getLogger(StopServerHandler.class.getName()).info("Mediazentrale beendet."); |
| | | logger.info(App.getRs(RB_MEDIAZ_END)); |
| | | App.stop(); |
| | | } |
| | | } |