WEB开发网
开发学院软件开发Java 关于Weblogic Server重启或log rotation导致serve... 阅读

关于Weblogic Server重启或log rotation导致server.log的 i node number变化问题

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示:前两天同事问我一个问题,说是客户那边使用Tivoli分析weblogic server日志的时候,关于Weblogic Server重启或log rotation导致server.log的 i node number变化问题,每当server重启,Tivoli就出错,FileSystem是个抽象类,rename的具体实

前两天同事问我一个问题,说是客户那边使用Tivoli分析weblogic server日志的时候,每当server重启,Tivoli就出错,说是FileId is changed。当时就怀疑可能跟server log的iNodeNumber有关。因为没怎么仔细看过weblogic server logging的代码,也不是很确认。跟同事说,让客户通过 ls -i 确认一下对应的iNodeNumber。客户反馈说:iNodeNumber没有发生变化,崩溃,文件名没变, iNodeNumber没变,Tivoli说的FileId到底是什么? FileSystem里还有其他标识文件的东西?我有点开始怀疑这个客户了,嘿嘿。 索性,自己做个测试吧。

首先看了看weblogic的代码,log rotation的时候,只是调用了File.renameTo(),  如下:

weblogic.loggin.FileStreamHandler.rotateLog()

logFile.renameTo(rotatedFile)

见鬼了, rename完了iNodeNumber还有不变的道理?看看JDK代码再说,

File.renameTo()

1     public boolean renameTo(File dest) {
2                 SecurityManager security = System.getSecurityManager();
3                 if (security != null) {
4                     security.checkWrite(path);
5                     security.checkWrite(dest.path);
6                 }
7                 return fs.rename(this, dest);
8     }

这家伙,还是依赖于FileSystem的,再一看,FileSystem是个抽象类,rename的具体实现肯定跟具体的subclass有关了,只能看看Win32FileSystem吧,

1 2  下一页

Tags:关于 Weblogic Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接