岁月如哥
人生非梦
BlogJava
首页
新随笔
新文章
联系
聚合
管理
posts - 50,comments - 144,trackbacks - 0
<
2008年4月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(11)
给我留言
查看公开留言
查看私人留言
随笔分类
(45)
css(1)
db(4)
java(31)
js(8)
life
other
spring(1)
相册
Favorite
For My Zoom
Myself
Outward Bound
Turn Left Turn Right
收藏夹
(21)
ant
db
java(13)
jndi(1)
js
jta(2)
ldap(5)
friends
allanz
twenty
xiegq
江南白衣
搜索
最新评论
1. re: JVM启动参数大全 zz
asdfasdfasd
--asfd
2. re: 伪ajax方式提交带文件上传的表单
人顶顶顶顶
--2222
3. re: web打印,web打印控件的三种实现方法 zz[未登录]
好厉害,学习了
--jacob
4. re: 伪ajax方式提交带文件上传的表单
阿斯顿发撒旦方法
--是地方噶是大方
5. re: OOM和JVM优化配置 zz[未登录]
luguo
--QQ
阅读排行榜
1. web打印,web打印控件的三种实现方法 zz(90974)
2. JVM启动参数大全 zz(26255)
3. 大文件加密(实现在文件流中进行加密解密的方法)zz(10262)
4. url中jsessionid引起的一个问题(8027)
5. 数据库连接池满的问题(7171)
评论排行榜
1. web打印,web打印控件的三种实现方法 zz(22)
2. 对jvm内存的一些理解(4)
3. tomcat连接池的三个重要参数(3)
4. 增加静态方法要重启tomcat?(3)
5. url中jsessionid引起的一个问题(3)
增加静态方法要重启tomcat?
在开发过程中,给
com.thunisoft.fy.business.sp.SelectListUtils 新增加了一个public static方法
getTestSelectList()。在页面的处理的logic类里面使用的时候代码提示都可以提示出来,调用方法也没有报编译期错误。刷新界面后,后台运行到刚才调用的地方就报如下错误:
2008
-
04
-
21
12
:
30
:
27
,
032
[com.thunisoft.summer.web.action.BaseAction]
-
[ERROR] runtime exception
java.lang.NoSuchMethodError: com.thunisoft.fy.business.sp.SelectListUtils.getTestSelectList()Lcom
/
thunisoft
/
fy
/
support
/
selectObj
/
SelectList;
at com.thunisoft.fy.spxt.pub.ajxq.AjxqLogic.displayZxAjxq_right(AjxqLogic.java:
736
)
at com.thunisoft.fy.spxt.pub.ajxq.AjxqLogic.displayAjxq_right(AjxqLogic.java:
116
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25
)
at java.lang.reflect.Method.invoke(Method.java:
324
)
at com.thunisoft.summer.web.action.MemoryAction.execute(MemoryAction.java:
102
)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:
106
)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:
430
)
at com.thunisoft.fy.web.struts.SummerRequestProcessor.process(SummerRequestProcessor.java:
134
)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
1196
)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
414
)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
689
)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
802
)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
237
)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
157
)
at com.thunisoft.summer.web.filter.UserAASFilter.doFilter(UserAASFilter.java:
111
)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
186
)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
157
)
at org.ajaxanywhere.AAFilter.doFilter(AAFilter.java:
46
)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
186
)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
157
)
at com.thunisoft.summer.web.filter.CharsetFilter.doFilter(CharsetFilter.java:
48
)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
186
)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
157
)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
214
)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104
)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520
)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:
198
)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
152
)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104
)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520
)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
137
)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
118
)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
102
)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109
)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:
104
)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
520
)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:
929
)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:
160
)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
799
)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:
705
)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
577
)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:
683
)
at java.lang.Thread.run(Thread.java:
534
)
咨询同事,得到的是“增加静态方法”要重启tomcat服务。我重启了tomcat果然就没有问题了:)
有点不太明白,为什么增加静态方法就要重启tomcat服务?这样在开发过程中如果经常增加static方法岂不是每次都要重启,然后就会很浪费时间了。另外,为什么如果我只是修改了原来已经存在的static方法的实现,则可以正常调试。
posted on 2008-04-21 12:54
岁月如歌
阅读(1225)
评论(3)
编辑
收藏
所属分类:
java
FeedBack:
#
re: 增加静态方法要重启tomcat?
2008-04-22 20:12 |
隔叶黄莺
这就是一个容器的热加载的能力了,不光是增加静态方法要重启 Tomcat,其他很多时候都要重启 Tomcat,如 Sun JVM HotSwap 在以下情况都得重启应用。
增删非静态方法,增删构造方法,增删字段,覆盖方法,改变方法或字段类型,改变超类,实现别的接口
Tomcat 大约也就是用的 Sun JVM HotSwap,如果你发现也就只在创建新的类和改变方法体时不用重启,而大多数我们的调试只是改变方法实现。
如是你借助其他的 JVM,如 IBM的,或者用 JavaRebel 可以在除改变超类和接口时重启外,其他时候都不用。
见:JavaRebel 1.0 正式版发布,为应用服务器侦测类的变化
http://www.blogjava.net/Unmi/archive/2007/12/08/166285.html
但我觉得用那个意义不大,特别不利于调试。既然改那么多,何碍于重启一次呢,做好了集群就什么也不用怕的。
回复
更多评论
#
re: 增加静态方法要重启tomcat?
2008-04-22 22:17 |
向左走向右走
@隔叶黄莺
谢谢~学习
回复
更多评论
#
re: 增加静态方法要重启tomcat?
2008-04-27 12:56 |
henry1451
你可以把tomcat设为自动加载,即热部署就不用重启了.
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
伪ajax方式提交带文件上传的表单
Java XML API 漫谈 zz
关于url中传中文的问题记录
再次小结领域模型的种种观点 zz
summer中jaas登录验证存在问题
工作流jbpm3.1.2导致数据库连接池满的问题
tomcat5报Post too large的错
理解 SET CHAINED command not allowed within multi-statement transaction. (zz)
url中jsessionid引起的一个问题
easerver6 jvm设置,解决OutOfMemory问题