当启动一个新的JBoss 6.1实例时,我从Arjuna Recovery Manager中得到以下错误,我相信它是jboss-ts事务服务包的一部分。 此错误会阻止Web服务器正常启动,因为恢复pipe理器是它的依赖项。
Arjuna版本4.14.0用于这个版本的jboss。
从源头上看,除了那个致命的错误之外,在恢复pipe理器初始化过程中似乎没有任何日志logging调用,这使得debugging问题更加困难。
这是问题的错误堆栈跟踪:
09:14:02,946错误[AbstractKernelController]错误安装到创build:名称= RecoveryManager状态=configuration:com.arjuna.ats.arjuna.exceptions.FatalError:ARJUNA-12359 SocketProcessId.getpid无法获得唯一的端口。 在com.arjuna.ats.internal.arjuna.utils.SocketProcessId。 SocketProcessId.java:82)[:6.1.0.Final]
… Java库[1.6.0_26]
在com.arjuna.ats.arjuna.utils.Utility.getProcess(Utility.java:348)com.arjuna.ats.arjuna.utils.Utility.initDefaultProcess(Utility.java:336)[:6.1.0.Final] com.arjuna.ats.arjuna.utils.Utility.getpid(Utility.java:287)[:6.1.0.Final]在com.arjuna.ats.arjuna.common.Uid上的[:6.1.0.Final]。 (Uid.java:84)[:6.1.0.Final],com.arjuna.ats.arjuna.StateManager。(StateManager.java:829)[:6.1.0.Final],com.arjuna.ats.arjuna。 (com.arjuna.ats.arjuna.coordinator.BasicAction。)(BasicAction.java:65)[:6.1.0.Final]在com.arjuna处的状态pipe理器(StateManager.java:802)[:6.1.0.Final]。 ats.arjuna.coordinator.TwoPhaseCoordinator。(TwoPhaseCoordinator.java:58)[:6.1.0.Final] at com.arjuna.ats.arjuna.AtomicAction。(AtomicAction.java:71)[:6.1.0.Final] at (AtomicActionRecoveryModule.java:263)[:6.1.0.Final] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)… Java库[1.6.0_26 ]>在com.arjuna.ats.internal.arjuna.rec overy.PeriodicRecovery.loadModule(PeriodicRecovery.java:893)[:6.1.0.Final]
编辑:我们find了这个罪魁祸首。 我们的/ etc / network / interfaces被破坏,导致localhost的loopback接口closures。
破碎:
auto lo,eth0
固定:
auto lo eth0
获得的经验:仔细检查你的服务器configuration,不要责怪JBoss的一切。 为这个问题提供的最常见的解决scheme是修复像Bartbuild议的/ etc / hosts。 不幸的是,我们是由于另一个configuration问题。
显然,在之前的版本中可能会导致这个错误 。 不会伤害检查提供的补丁是否合并到当前版本中。
你也应该看看你的主机文件。 这需要Arjuna / JBoss运行完美。 确保你有一个如下所示的行:
10.12.34.56 jboss.mydomain.org jboss
你从哪里开始使用自己的IP,然后是FQDN,最后是主机名。