如何自动在tomcat上运行webapps

时间:2013-12-11 07:50:15

标签: java apache tomcat

我使用我的eclipse部署了一个java服务器。

我提取war文件。

我在我的Windows Server 2003上安装了apache-tomcat-7.0.47

我在我的Windows Server 2003上安装了Apache Tomcat 7服务并使其自动运行。

我想在我的Windows Server 2003上运行war文件

我尝试了什么

我将war文件放在apache-tomcat文件夹中的webapps上,然后运行位于startup.bat文件夹中的bin

我测试服务器并且它运行良好

我的问题

当我从我的Windows服务器登录时。战争文件停止工作。

我的问题

如何在我登录时保持服务器正常工作。 请注意我安装了该服务并多次重启服务器。

3 个答案:

答案 0 :(得分:3)

执行此操作的一种方法是使用Java Server Wrapperhttp://support.microsoft.com/kb/137890

SO Link

在java本身中似乎有一种方法可以做到这一点,在Oracle Documentation中添加-Xrs到服务器启动中的java.exe调用(我认为是bat文件)。注意使用它的后果!

  

-Xrs减少Java VM对操作系统信号的使用。

     

在早期版本中,添加了Shutdown Hooks工具以启用   有序地关闭Java应用程序。目的是启用用户   要运行的清理代码(例如关闭数据库连接)   即使Java VM突然终止也会关闭。

     

Java VM监视控制台控制事件以实现关闭   挂钩意外的Java VM终止。具体来说,就是Java VM   注册一个控制台控制处理程序,它开始shutdown-hook   处理并为CTRL_C_EVENT,CTRL_CLOSE_EVENT返回TRUE,   CTRL_LOGOFF_EVENT和CTRL_SHUTDOWN_EVENT。

     

JVM使用类似的机制来实现转储功能   线程堆栈用于调试目的。 JVM使用CTRL_BREAK_EVENT来   执行线程转储。

     

如果Java VM作为服务运行(例如,servlet引擎)   对于Web服务器),它可以接收CTRL_LOGOFF_EVENT但应该   不启动关机,因为操作系统实际上不会   终止进程。为了避免可能的干扰,   从J2SE 1.3.1开始添加-Xrs命令行选项。什么时候   -Xrs选项用于Java VM,Java VM不安装   控制台控制处理程序,暗示它不会监视或   处理CTRL_C_EVENT,CTRL_CLOSE_EVENT,CTRL_LOGOFF_EVENT或   CTRL_SHUTDOWN_EVENT。

     

指定-Xrs有两个结果:

     

Ctrl-Break线程转储不可用。

     

用户代码负责导致关闭挂钩运行   例如,当要终止Java VM时调用System.exit()。

答案 1 :(得分:1)

阅读aksappy的回答后。我发现jvm正在解决这个问题。我转到bin的{​​{1}}文件夹并运行apache-tomcat,然后我转到关机标签,将tomcat7w.exe更改为jvm

这是帮助我的便利解决方案

答案 2 :(得分:0)

您可以在server.xml中为Web应用程序设置“deployIgnore”属性;此属性将忽略部署中的war文件名。稍后您可以手动部署应用程序