软件开发LinuxWAS

was应用更新?

linux系统下was平台更新web项目

多个class文件直接替换web-inf/classes下面的class文件,使用linux命令“stopServer.sh server1”和“startServer.sh server1”命令停止再重启服务更新文件生效。
但是使用websphere控制台重启应用后只有一个class文件不生效。
请问这是什么原因啊?应该怎么解决呢?
参与28

7同行回答

swallowluoswallowluo系统架构师中国金融电子化公司
这个现象确实有点奇怪。正常情况下,WAS会自动加载web-inf/classes下面的class文件,如果class文件发生变化,WAS会自动检测到,并进行加载。当然,Server重启后,也会重新加载。不应该出现其中一个class不生效,其他class生效的情况。不知道是否可以针对下面两个问题,提供更详细的说明:1...显示全部

这个现象确实有点奇怪。
正常情况下,WAS会自动加载web-inf/classes下面的class文件,如果class文件发生变化,WAS会自动检测到,并进行加载。当然,Server重启后,也会重新加载。不应该出现其中一个class不生效,其他class生效的情况。
不知道是否可以针对下面两个问题,提供更详细的说明:
1、不生效的那个class有什么特殊的地方吗?
每次更新的时候,是同一个class不生效,还是不同的class不生效?
不生效的Class中是不是调用了动态库(so或者dll)之类的内容?
2、您说的重启应用,指的是在控制台上停止应用,然后在启动应用吧,不是把Was的Server重启吧?
3、您使用的WAS是ND版本,还是单Server的版本?

一定要注意class中是否调用了动态库,如果有的话,那么重启应用是不会生效的,一定要重启Server。

收起
软件开发 · 2018-11-06
IliadIliad软件开发工程师abc
追问1、不生效的那个class有什么特殊的地方吗?每次更新的时候,是同一个class不生效,还是不同的class不生效?回答:每次更新的时候,是同一个class不生效。不生效的Class中是不是调用了动态库(so或者dll)之类的内容?回答:没有调用动态库。2、您说的重启应用,指的是在控制台上停止应用,然...显示全部

追问

1、不生效的那个class有什么特殊的地方吗?
每次更新的时候,是同一个class不生效,还是不同的class不生效?
回答:每次更新的时候,是同一个class不生效。
不生效的Class中是不是调用了动态库(so或者dll)之类的内容?
回答:没有调用动态库。
2、您说的重启应用,指的是在控制台上停止应用,然后在启动应用吧,不是把Was的Server重启吧?
回答:重启应用是在控制台上停止应用,然后在启动应用,不是把Was的Server重启。
3、您使用的WAS是ND版本,还是单Server的版本?
回答:ND版本。

class文件生效操作步骤:
执行/opt/IBM/WebSphere/AppServer/Profiles/DefaultAppSrv01/bin目录下的stopServer.sh和startServer.sh脚本重启。
class文件不生效操作步骤:
控制台上停止应用,然后在启动应用。

另外,执行linux命令重启后生效,但再去控制台重启应用class文件又会变成更新之前的。

收起
软件开发 · 2018-11-07
浏览5454

提问者

Iliad
软件开发工程师abc
擅长领域: 服务器双活应用服务器

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-11-06
  • 关注会员:8 人
  • 问题浏览:8941
  • 最近回答:2020-04-07
  • X社区推广