Windows定时重启Tomcat

项目场景:

系统:Windows 7

Tomcat:apache-tomcat-8.0.5

JDK:1.8


问题描述

最近项目的Tomcat隔一段时间就假死,最后想到的解决方式就是:每天凌晨1点重启tomact。


解决方案:

使用Windows系统的计划任务程序,可以在这里设置定时执行的.bat批处理文件(将你要定时执行的cmd命令放在这里),这样就可以实现让电脑在某个时刻做你想让它干的事。


实现步骤:

一、创建tomcat重启的脚本

        创建txt文件restart.txt,编辑内容,把下面的内容复制进去,然后把缀改为.bat,最后文件名为:restart.bat  

echo 正在关闭Tomcat服务,请稍等......@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.rem ---------------------------------------------------------------------------
rem Stop script for the CATALINA Server
rem ---------------------------------------------------------------------------setlocalrem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHomeset "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExecrem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgscall "%EXECUTABLE%" stop %CMD_LINE_ARGS%:endecho 关闭Tomcat服务完成ping 127.0.0.1 -n 20
echo ******************************************echo 正在启动Tomcat服务,请稍等......@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.rem ---------------------------------------------------------------------------
rem Start script for the CATALINA Server
rem ---------------------------------------------------------------------------setlocalrem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHomeset "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExecrem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgscall "%EXECUTABLE%" start %CMD_LINE_ARGS%:endecho 启动Tomcat服务完成

把restart.bat 文件复制到apache-tomcat-8.0.50\bin目录下 ,然后可以直接双击运行,启动会报个错,是因为tomcat没启动,是正常的。

 

 二、创建任务计划程序

1、开始菜单搜索“任务计划程序”

或者到控制面板里面找到“计划任务”

2、弹出任务计划程序界面,在右侧点击创建任务

3、输入 名称和描述

4、点击触发器选项卡,点击左下角新建,弹出新建操作,新建一个触发器,每天凌晨一点触发

5、点击操作选项卡,点击左下角新建,弹出新建操作,点击浏览。选择要执行的脚本restart.bat ,点击打开确定。

附加: 

这里说下nginx配置集群和tomcat实现session共享

首先要启动两个tomcat,然后端口不一样,比如8889和8899

1、nginx.conf关键配置

upstream serverlist {#最少连接数,根据连接数多少自动选择后端服务器,连接数相等时根据权重选择least_conn;#每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题#ip_hash; #若120秒内出现2次错误,则下个120秒内不再访问此服务器,weight权重越大,请求机会越多server 127.0.0.1:8889 max_fails=2 fail_timeout=120s weight=1;#主服务server 127.0.0.1:8899 max_fails=2 fail_timeout=120s weight=1 backup;#备用tomcat服务,主服务挂了会调用备用服务
}

2、tomcat实现session共享 

server.xml在Engine标签内加上配置

<Engine name="Catalina" defaultHost="localhost"><!-- tomcat集群session共享 --><Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
</Engine>

修改web项目,工程WEB-INF下的web.xml,添加如下一句配置 

<distributable />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南大通用数据库 GBase 8a 性能调优方法--压缩策略选择

大部分应用中性能的瓶颈是磁盘IO&#xff0c;所以新型数据库的设计都已降低磁盘IO为主要设计目标&#xff0c;压缩可减少I/O的时间&#xff0c;提升性能&#xff0c;南大通用数据库的 GBase 8a也不例外&#xff0c;压缩也是提高性能的主要技术之一&#xff0c;GBase 8a并行执行…

c 语言, 随机数,一个不像随机数的随机数

c 语言&#xff0c; 随机数&#xff0c;一个不像随机数的随机数 使用两种方式获取随机数&#xff0c;总感觉使用比例的那个不太像随机数。 方法一&#xff1a; rand() 获取一个随机数&#xff0c;计算这个随机数跟最大可能值 RAND_MAX&#xff08;定义在 stdlib.h 中&#xf…

C++ CPU程序占用率高问题排查

0. 简介 我们在之前介绍了使用Valgrind、perf、AddressSanitzer等工具来完成内存泄漏的检测&#xff0c;当然内存泄漏以外还有cpu的占用率变高这类问题。作者在这里提供几个方法来对C程序中CPU程序占用率高问题排查。 1. pstack堆栈查看 pstack 命令可以监听日志&#xff0c…

Flutter——环境搭建(MAC版)

1、下载Flutter Sdk https://flutter.cn/docs/get-started/install/macos#get-sdk 下载完成后&#xff0c;新建一个你期望存放sdk的目录&#xff0c;然后将下载的压缩包直接解压得到fluter文件夹&#xff1b; 2、配置环境变量 打开或者创建 shell 的 rc &#xff08;该文件…

uni-app绘制二维码

在uni-app中绘制二维码&#xff0c;可以按照以下步骤进行&#xff1a; 打开HBuilderX开发工具&#xff0c;新建一个uni-app项目。在pages文件夹下&#xff0c;新建一个user文件夹&#xff0c;并创建user.vue文件。在template标签中&#xff0c;插入多个view和canvas。导入生成…

Macos多协议远程管理---Termius中文

Termius是一款跨平台的终端管理工具&#xff0c;支持Windows、macOS、Linux、iOS和Android等多个操作系统。它提供了一个友好的用户界面和强大的功能&#xff0c;使用户能够远程连接和管理服务器。Termius的基本功能包括终端连接、SSH隧道、文件传输、组织和标记、快捷方式和别…

国企和互联网怎么选?

2023年马上就要结束了&#xff0c;天气还是很冷&#xff0c;大家今年的总结做了吗&#xff1f; 正好这两天看到另外一个我关注的博主更新了一个自己的年终总结。其中有一些话令人印象深刻。 未来对我来说&#xff0c;毫无吸引力。原因很简单&#xff0c;当下已经足够令人清醒、…

万字长文谈自动驾驶bev感知(一)

文章目录 prologuepaper listcamera bev :1. Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D2. M2BEV: Multi-Camera Joint 3D Detection and Segmentation with Unified Birds-Eye View Representation3. BEVDet: High-Pe…

STM32传输FPGA业务

1、实现功能&#xff1a; FPGA芯片两个信号管脚分别是TTL_RX与TTL_TX&#xff0c;stm32读取FPGA采集信号TTL_RX的数据&#xff0c;再写到FPGA中通过TTL_TX发送出去&#xff0c;实现FPGA串口功能 2、大概方法&#xff1a; ①、FPGA中FIFO_RX和FIFO_TX,分别负责TTL_RX采集接收与…

大数据实践之路 读后感

欢迎关注公众号&#xff1a;数据运营入表资产化服务&#xff0c;获取更多算法源码材料 2023数据资源入表白皮书&#xff0c;推荐系统源码下载-CSDN博客 浅析研发支出费用化和资本化的区别-CSDN博客 商业银行数据资产估值白皮书&#xff0c;推荐系统源码下载-CSDN博客 用友B…

Qt编写的exe程序上添加程序信息

1、qtcreator编写 在pro文件中添加如下信息 # 版本信息 VERSION 4.0.2.666# 图标 RC_ICONS Images/MyApp.ico# 公司名称 QMAKE_TARGET_COMPANY "Digia"# 产品名称 QMAKE_TARGET_PRODUCT "Qt Creator"# 文件说明 QMAKE_TARGET_DESCRIPTION "Qt …

【AI】文本转语音 变声 音色克隆 数字人音视频口型同步AI应用

文本转语音 项目地址&#xff1a;https://github.com/coqui-ai/TTS 环境安装&#xff1a; 下载项目&#xff1b;安装Python&#xff0c;安装项目依赖&#xff1a; pip install TTS 1. 下载安装AI模型&#xff1a; https://github.com/facebookresearch/fairseq/tree/main…

外汇平台:投资者惨遇黑平台KYOLO MARKETS,血本无归!

投资外汇盈利了真的需要缴纳税金么&#xff1f;一直以来这个问题成为了众多交易新手的疑问&#xff0c;但对于很多资深外汇投资者来说&#xff0c;这种问题太简单了以至于认为不值一提。但若是从每年发生的外汇诈骗案件来看&#xff0c;可以看到还是有很多新手不知道这个问题&a…

知识平权与经济平权:以文艺复兴为例破除宗教思想控制的过程

文艺复兴&#xff0c;这个发生在14至16世纪的西欧思想解放文化运动&#xff0c;不仅是艺术和科学的复兴&#xff0c;更是对长期占据主导地位的宗教思想控制的一次重大挑战。这一过程中&#xff0c;知识平权和经济平权起到了关键的作用。 首先&#xff0c;知识平权是破除宗教思…

【交叉编译环境】安装arm-linux交叉编译环境到虚拟机教程(简洁版本)

就是看到了好些教程有些繁琐&#xff0c;我就写了一个 我这个解压安装的交叉编译环境是Linaro GCC的一个版本&#xff0c;可以用于在x86_64的主机上编译arm-linux-gnueabihf的目标代码 步骤来了 在你的Ubuntu系统中创建一个目录&#xff0c;例如/usr/local/arm&#xff0c;然后…

CISP培训强化研发团队,确保金融科技发展安全无忧

​某金融科技公司是行业领先的平台服务商&#xff0c;凭借其在区块链、物联网、云计算、大数据和人工智能等尖端技术的卓越研发实力&#xff0c;致力于将前沿技术融入金融业务模式和应用场景。公司不断努力为客户提供一个“科技金融行业客户”的综合服务平台&#xff0c;从而实…

this.baseMapper.getRoleNameByUserId 会调用什么

this.baseMapper.getRoleNameByUserId 是一个方法调用&#xff0c;通常在使用框架或ORM&#xff08;对象关系映射&#xff09;库时使用。在这里&#xff0c;baseMapper 似乎是一个类的属性或字段&#xff0c;它代表了一个与数据库表相关联的Mapper接口的实例。而 getRoleNameBy…

WebGL技术的应用场景

WebGL&#xff08;Web Graphics Library&#xff09;是一种在Web浏览器中渲染3D图形的技术&#xff0c;它基于OpenGL ES&#xff08;OpenGL for Embedded Systems&#xff09;标准&#xff0c;允许通过JavaScript编写高性能的3D图形应用。以下是一些WebGL技术的应用场景&#x…

【生成和为20的四个随机数】

文章目录 前言一、开始1.定义方法 总结 前言 需要实现的功能是&#xff0c;产生四个随机数&#xff0c;合是20。 一、开始 1.定义方法 代码如下&#xff08;示例&#xff09;&#xff1a; import lodash from "lodash";export default {data() {return {init_attri…

基于springboot+vue协同过滤算法的电影推荐系统

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;摘 要 “互联网”的战略实施后&a…