按照前一篇启用WebSphere管理安全性,你也许已经为WAS添加了密码来防止未授权的访问。但是当你想在Windows服务中重启、停止websphere时,你会发现无法停止,提示你“发生内部错误”。而在Systemout.log中,则有:
00000056 RoleBasedAuth A SECJ0305I: 对于 admin-authz 操作 Server,基于角色的授权检查失败:stop:java.lang.Boolean:java.lang.Integer。用户 UNAUTHENTICATED(唯一标识:unauthenticated)未被授予下列任何必需角色:administrator, operator。
这是由于was服务启动用户一般是“本地系统”或者“Administraotr”,而这两个用户都是非认证(unauthenticated)的。如果没有被添加为服务,或者在Unix/Linux环境下,停止服务器时就会提示你输入用户名和密码,或者运行命令时添加“-username 用户名 -password 密码”参数。
所以解决的方法很简单,只要更新一下WAS服务属性即可。在wasHome下的bin目录中,运行
wasservice -add 服务名(跟在IBMWAS61Service – 后的那部分)-serverName server1 -profilePath E:\IBM\WebSphere\AppServer\profiles\AppSrv02 -stopArgs “-username 用户名 -password 密码”
启动服务时不需要用户名密码,所以不需要添加-startArgs参数。得到提示:
Service already exists, updating parameters…
阅读全文…
引言
上次在WebSphere的类加载机制和故障排查一文中整理了一下Classloader的一些概念和加载原理,但是概念的应用不是很明确,故障排查也没有具体的方法。所以今天再次整理了IBM developerworks里有参考价值的文章,希望在遇到ClassCastException、ClassNotFoundException、NoClassDefFoundException、UnsatisfiedLinkError的错误时提供解决思路。
《IBM WebSphere 开发者技术期刊: 类路径冲突的鉴别》一文描述了应用迁移过程中所发生的“故障”,打引号那是因为WAS并没有发出ClassNotFoundException、NoClassDefFoundException等的错误信息,而是“并非预期中的表现”。最终排查的结果是:
其结果是 C:/Program Files/IBM/WebSphere Studio/Application Developer/v5.1.1/runtimes/base_v51/lib/jython.jar ,而不是我们期望的 WEB-INF/lib/jakarta-oro-2.0.7.jar 。
这是一个很典型的类加载错误例子,默认的PARENT_FIRST加载模式让类加载器从应用程序 类装入器中先加载了jython.jar(正好有需要的同名类),而不是Web 模块类装入器里正确的jakarta-oro-2.0.7.jar。解决的方法可以启用PARENT_LAST 加载模式即可。文章中检测类加载路径的Servelet可以作为参考,不过我觉得一般会用-verbose 命令行选项打开 IBM JVM 的详细输出、trace某个确定类的情况或者dump的方法找到类加载路径。
调试方法
《类装入问题解密,第 1 部分: 类装入和调试工具介绍》 介绍了这三种方法
可以用 -verbose 命令行选项打开 IBM JVM 的详细输出。当某些事件发生的时候(例如,类装入时),详细输出会在控制台上显示信息。要想得到额外的类装入信息,可以用详细类输出。可以用 -verbose:class 选项启动这个模式。
解释详细输出
详细输出列出已经打开的所有 JAR 文件,包括到这些 JAR 的完整路径。下面是一个示例:
...
[Opened D:\jre\lib\core.jar in 10 ms]
[Opened D:\jre\lib\graphics.jar in 10 ms]
...
所有装入的类都已经列出,同时还指出它们是从哪个 JAR 文件或目录装入的。例如:
...
[Loaded java.lang.NoClassDefFoundError from D:\jre\lib\core.jar]
[Loaded java.lang.Class from D:\jre\lib\core.jar]
[Loaded java.lang.Object from D:\jre\lib\core.jar]
...
阅读全文…
最及时的声音