解决Tomcat下Context重复启动(转)
配置了个定时抓取任务,结果总是抓取三次
从Tomcat的log上看到该任务所在的Context有三次启动的过程,计划任务也被创建了三次
问题原来出在Host的appBase设置上,原来的设置是这样的
<Host name="www.xxx.com" appBase="/usr/local/projects/xxx/"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="web" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
</Host>
<Host name="admin.xxx.com" appBase="/usr/local/projects/xxx/"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="admin" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
</Host>
改成不设置appBase,只对指定的Context设置docBase就ok了
<Host name="www.xxx.com" appBase=""
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/projects/xxx/web" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
</Host>
<Host name="admin.xxx.com" appBase=""
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/projects/xxx/admin" path="" reloadable="true" workDir="work">
<!-- Others -->
</Context>
为什么不设置appBase就OK来呢?
因为设置了appBase就会自动去加载底下所有的项目
分享到:
相关推荐
Tomcat作为Web Server时,应用被重复加载的四种解决方案 优劣分析
ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法ZCMS站点在Tomcat下使用单独域名的解决方法...
但注意要备份原来的context.xml文件以防万一。 这是MYSQL配置方法,如果想换其它的数据库只需要改变username="xxx" password="xxx" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1/blog" ...
tomcat+redis负载均衡context.xml配置
总结来说,Tomcat类加载器对于理解和调试多应用环境下的Java应用程序至关重要,而"DevLoader"可能是一种专为开发环境优化的类加载器,提供热部署等功能。对这个主题的深入理解有助于优化开发流程,提高生产力。
描述了Tomcat的Host的Context组件的相关配置及对应Tomcat的启动和访问问题
Tomcat通过自定义的类加载器实现了特定的类加载顺序,以确保能够正确处理不同来源的类文件,避免类的重复加载和类版本冲突问题。以下是Tomcat启动过程中类加载的具体顺序: #### 三、类加载顺序详述 1. **Bootstrap...
- **Common类加载器**:加载Tomcat共用的类库,这些类库位于`CATALINA_HOME/lib`目录下。 - **Webapp类加载器**:每个Web应用程序都有自己独立的类加载器,加载`WEB-INF/classes`和`WEB-INF/lib`目录下的类。 4. ...
3. Shared ClassLoader:用于多个Web应用共享的类,加载`shared.loader`属性指定的类,减少重复类的内存占用。 4. Catalina ClassLoader:加载Tomcat自身的类,不直接参与Web应用的类加载。 Tomcat类加载器的特性:...
本文将详细介绍如何在Tomcat中配置虚拟目录(context)而无需重启服务器的方法。 #### 一、在`server.xml`中添加虚拟目录 1. **基本配置**: - 打开Tomcat安装目录下的`conf/server.xml`文件。 - 在`<Host>`标签内...
在MyEclipse中配置Tomcat进行动态加载,能够让开发者在不重启服务器的情况下实现应用的热更新,提高开发效率。下面将详细解释这一过程以及相关的技术知识点。 首先,理解"动态加载"的概念。动态加载是指在程序运行...
Tomcat 常见问题及解决方法 Tomcat 是一个流行的开源 Web 服务器和 Servlet 容器,广泛应用于 Web 开发和部署中。然而,在使用 Tomcat 的过程中,开发者经常会遇到一些常见的问题,本文将列举一些常见的问题和解决...
Tomcat7.0.62 启动类加载日志
tomcat详解与启动加载顺序 tomcat详解与启动加载顺序
如果不在MyEclipse等集成开发环境中使用内置的Tomcat,你需要确保Tomcat的`conf\Catalina\localhost`目录下没有`host-manager.xml`和`manager.xml`这两个文件,因为它们可能会覆盖自定义的`context.xml`配置。...
代码如下:<Context path=”” docBase=”/usr/tomcat/apache-tomcat-8.5.11/webapps/guanwang” debug=”0″ reloadable=”true”/> docBase即为默认访问的文件夹名称。Linux与Windows一样,只是文件夹地址有差别...
本文将深入探讨Tomcat的配置方法,帮助你更好地理解和管理你的Web应用。 首先,让我们从基础开始,了解Tomcat的目录结构。在解压Tomcat安装包后,你会看到几个主要的目录和文件: 1. **bin**:包含启动和停止...
此外,对于每个Web应用程序,Tomcat还会执行Servlet的加载和初始化,包括读取`web.xml`部署描述符,实例化Servlet,并调用`init()`方法。 总结来说,Tomcat的启动顺序是一个自底向上,从核心到应用的过程,依次加载...
总的来说,理解Tomcat的类加载机制有助于我们更好地管理应用的类加载,优化性能,解决类冲突问题,以及实现高效的应用部署和更新。在实际开发中,合理利用这些特性,可以提升系统的稳定性和效率。通过阅读和研究...
Tomcat配置及解决方法 Tomcat是Apache软件基金会下的开源JavaServlet容器,作为Web应用服务器,广泛应用于Web开发和部署中。然而,在实际应用中,Tomcat的配置和问题解决方法却是一些开发者所忽视的重要环节。本文...