大家在进行web开发的时候,都希望自己修改的内容在不手动编译、不重启服务的时候立即生效,这样可以极大的方便开发和调试。这个就是我今天要讲的weblogic的热部署。
一.Weblogic热部署相关配置项
Weblogic能实现热部署功能,而且有自己的热部署机制,一般的应用在Weblogic的控制台中有如下三个配置项:
servlet-reload-check-secs
resource-reload-check-secs
JSP page-check-seconds
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> <weblogic-web-app> <jsp-descriptor> <jsp-param> <param-name>compileFlags</param-name> <param-value>-g</param-value> </jsp-param> <jsp-param> <param-name>keepgenerated</param-name> <param-value>true</param-value> </jsp-param> <jsp-param> <param-name>pageCheckSeconds</param-name> <param-value>1</param-value> </jsp-param> </jsp-descriptor> <container-descriptor> <servlet-reload-check-secs>1</servlet-reload-check-secs> <resource-reload-check-secs>1</resource-reload-check-secs> <!-- weblogic优先使用web程序自带的类库 --> <prefer-web-inf-classes>false</prefer-web-inf-classes> </container-descriptor> <context-root>StrutsDemoApp</context-root> </weblogic-web-app>
下面对weblogic.xml的这三个设置选项的介绍:
1.servlet-reload-check-secs
<servlet-reload-check-secs>元素定义 WebLogic Server是否执行 servlet检查以查看 servlet是否已更改,如果已更改,是否重新加载。
值-1:表示永不检查 servlet。该值为生产环境中的默认值。
值0:表示总是检查 servlet。
值1:表示每秒检查一次 servlet。该值为开发环境中的默认值。
2.resource-reload-check-secs
使用 <resource-reload-check-secs>元素针对 Web应用程序范围内资源路径中发现的缓存资源执行元数据缓存。该参数标识 WebLogic Server检查资源是否发生修改的频率,如果已修改,则重新加载。
值-1:表示元数据进行缓存,但从不对磁盘进行检查以便找出所做的更改。建议在生产环境中使用该值,以提升性能。
值0:表示不执行元数据缓存。持续更改文件的客户必须将该参数设置为大于或等于 0的一个值。
值1:表示每秒重新加载一次。该值为开发环境中的默认值。
3.JSP page-check-seconds
设置 WebLogic Server检查 JSP文件的时间间隔(秒),以便查看 JSP文件是否已更改以及是否需要重新编译。如果已发生更改,还会检查依赖关系并递归重新加载。
值-1:表示永不检查页面。该值为生产环境中的默认值。
值0:表示总是检查页面。
值1:表示每秒检查一次页面。该值为开发环境中的默认值。
所以分别配置Servlet、Resource和Jsp的来控制对应三类所控制的内容的热部署时间间隔,如果设置为-1的话那么这一项就不支持热部署。当值配置为1的话就可以支持热部署。
二.配置热部署步骤
为了实现程序的热部署,我们需要以下几个步骤:
1.修改weblogic的启动参数
使用domain中的startWebLogic.cmd来启动weblogic的话,则在domain/bin下的setDomainEnv.cmd中将该参数配置上,在该文件最后添加设置参数命令:set JAVA_OPTIONS=%JAVA_OPTIONS% -Dorg.apache.tapestry.disable-caching=true -Dorg.apache.tapestry.enable-reset-service=true,如下图所示:
2.检查weblogic.xml配置文件
其中如果有:
<container-descriptor> <servlet-reload-check-secs>0</servlet-reload-check-secs> <resource-reload-check-secs>0</resource-reload-check-secs> </container-descriptor> <jsp-descriptor> <jsp-param> <param-name>pageCheckSeconds</param-name> <param-value>0</param-value> </jsp-param> </jsp-descriptor>
请将上述数值都修改为0。
3.配置Eclipse中的工程自动编译
检查Eclipse中工程配置的默认编译输出路径是否为projectHome/web/WEB-INF/classes。
修改步骤为:在Package Explorer视图中的工程上右键-->属性(properties)-->Java构件路径(Java Build Path)-->源代码(Source)-->默认输出路径(Default output folder)。这里修改为web/WEB-INF/classes即可。可以通过右边的浏览(Browse)按钮来选择。 确保 project->build automatically已经被选上。
4. 检查ie选项中是否设置了每次访问本页时检查最新
设置方法:工具-->Internet选项-->常规-->浏览历史记录中的设置,在弹出框中设置(针对ie7,8),如下所示:
三.生产环境配置
对于生产环境,需对系统配置JSP和Servlet的pageCheckSeconds为-1,以禁止jsp和servlet的重新destroy和init,以提高系统可用率。
具体需在各应用WAR包的weblogic.xml增加如下配置:
1.对于jsp文件,设置pageCheckSeconds为-1,禁止重新编译
<jsp-descriptor> <param-name>pageCheckSeconds</param-name> <param-value>-1</param-value> </jsp-descriptor>
2.对于servlet,设置servlet-reload-check-secs的值为-1,禁止servlet重新destory和init
<container-descriptor> <servlet-reload-check-secs>-1</servlet-reload-check-secs> </container-descriptor
参考文章:
相关推荐
在开发软件的时候,WebLogic服务热部署可以有效的提过开发速度,不用把时间浪费到不停的重启服务上。
总结来说,"WebLogic热部署配置指南"是一个指导开发者如何在WebLogic环境中高效实现应用热部署的教程,通过合理配置和操作,可以大大提高开发团队的工作效率,减少因反复重启服务带来的不必要延迟。了解并掌握这些...
了解WebLogic的热部署机制,使用适当的部署策略,可以避免这类问题。 7. **集群配置**:对于高可用性和负载均衡,可能需要配置WebLogic集群。理解和配置集群的复制、故障转移策略是关键。 通过阅读`weblogic心得....
WebLogic 10 是一款由 Oracle 公司提供的企业级应用服务器,用于部署和管理Java EE应用程序。在本文中,我们将深入探讨如何配置、部署以及使用JNDI数据源。 配置 Domain 是WebLogic 10的基本步骤,它涉及到创建一个...
- **热部署支持**:利用WebLogic Server支持的应用程序热部署功能,实现应用程序的零停机更新。 ### 三、WebLogic部署实战案例 #### 3.1 基于WebLogic的应用部署示例 - **部署前准备**:确保所有必要的环境配置都...
6. **热部署**:WebLogic支持热部署,即在不中断服务的情况下更新应用程序。这对于持续集成和快速迭代尤其有用。 7. **集群部署**:在大型企业环境中,WebLogic常常被用作集群,以实现高可用性和负载均衡。应用程序...
5. **热更新**:通过热更新,无需重启服务器即可部署新版本的应用,降低了停机时间。 6. **JNDI查找**:在WebLogic中,可以使用JNDI(Java Naming and Directory Interface)查找和绑定资源,如数据源、JMS队列等。...
WebLogic集群配置与部署是企业级Java应用服务器中的一项关键技术,主要用于提高应用程序的可用性、可伸缩性和性能。WebLogic Server是Oracle公司提供的一个成熟的中间件平台,支持高并发、分布式处理以及故障转移等...
8. **热更新和滚动升级**:WebLogic支持应用的热更新,允许在不中断服务的情况下替换或更新部署的WAR或EAR文件。滚动升级则是在不影响整个集群服务的情况下逐步升级应用实例。 掌握这些知识点后,你将能够有效地在...
这种方法主要是通过利用WebLogic的热部署(Hot Deployment)功能和一些开发工具的特性来实现。 1. **热部署原理**: WebLogic Server 支持热部署,这意味着在运行时可以添加、移除或更新应用程序的某些部分,而...
WebLogic 提供了热部署机制,可以在不重新启动的情况下部署新的类文件。 2. Tomcat 关于 UTF-8 JSP 文件的 BUG 在 Tomcat 中,有一个BUG,即在 UTF-8 编码的 JSP 文件中,可能会出现乱码问题。这个问题可以通过在 ...
标准版还支持热部署、热修改(FastSwap)功能,即无需重新部署即可更新Java类,以及可选的服务启动,允许在不启动EJB、JMS、JCA等组件的情况下启动Web应用容器。轻量级安装程序也使得下载和安装过程更加快速,同时...
7. **热部署**:允许你在不重启服务器的情况下更新应用程序,提高了开发效率。 8. **性能监视**:可以查看服务器的CPU使用率、内存使用情况等性能指标。 通过这些功能,WebLogic插件极大地提升了开发者在Eclipse中...
3. **热发布的环境要求**:自动部署或热发布要求WebLogic服务器处于运行状态。通常,通过IDE如MyEclipse进行发布是一种常见的方式,它提供了集成的部署工具,可以简化部署过程,减少手动操作带来的错误。 ### ...
例如,Tomcat、WebLogic、JBOSS等服务器都提供了热部署的功能。当开发人员修改了Java类、Servlet、JSP或者EJB等组件后,这些服务器可以自动检测到变化,并在不影响其他服务的情况下,实时地加载新版本的代码。 热...
同时,还会讨论应用的生命周期管理,如版本控制、热部署和滚动升级等策略,这些都是确保应用稳定性和可用性的关键因素。 书中还涉及性能调优和故障排查技巧,这有助于提升WebLogic Server的运行效率,并在出现问题...
4. **热部署**:在应用运行时,可以在不中断服务的情况下更新应用程序,提高系统的可用性。 接下来,我们来讨论数据源的配置。数据源是应用服务器中连接到数据库的接口,它封装了JDBC驱动和其他连接参数,为应用...
**JRebel IDE热部署插件** 在软件开发过程中,开发者常常需要频繁地修改代码以进行功能测试或优化。每次改动后,传统的方式是重新编译、打包,然后重启应用服务器,这无疑大大降低了开发效率。为了解决这个问题,...
在企业级应用中,Weblogic Server作为Oracle公司提供的一个强大且功能丰富的Java EE应用服务器,被广泛用于构建和部署分布式应用程序。Weblogic 12c(12.1.x版本)引入了许多新特性,包括性能优化、云环境支持以及更...