启动 jboss 服务器时出错

Posted

技术标签:

【中文标题】启动 jboss 服务器时出错【英文标题】:Error starting jboss server 【发布时间】:2011-01-30 03:40:48 【问题描述】:

我刚刚完成重新安装我的操作系统,并且一如既往地安装和测试我使用的标准工具,现在当我尝试从 eclipse 启动 Jboss 5 时,我得到了前所未有的这个错误,这是一个很大的异常:

3:53:10,693 ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described
java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]
    at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:395)
    at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:153)
    at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106)
    at org.jboss.joinpoint.plugins.BasicConstructorJoinPoint.dispatch(BasicConstructorJoinPoint.java:80)
    at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.createTarget(AOPConstructorJoinpoint.java:282)
    at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:103)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
    at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
    at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionInternal(InstantiateAction.java:66)
    at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
    at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
    at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
    at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
    at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:319)
    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:297)
    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130)
    at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:76)
    at org.jboss.bootstrap.microcontainer.TempBasicXMLDeployer.deploy(TempBasicXMLDeployer.java:91)
    at org.jboss.bootstrap.microcontainer.TempBasicXMLDeployer.deploy(TempBasicXMLDeployer.java:161)
    at org.jboss.bootstrap.microcontainer.ServerImpl.doStart(ServerImpl.java:138)
    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:450)
    at org.jboss.Main.boot(Main.java:221)
    at org.jboss.Main$1.run(Main.java:556)
    at java.lang.Thread.run(Thread.java:619)
Failed to boot JBoss:
java.lang.IllegalStateException: Incompletely deployed:

DEPLOYMENTS IN ERROR:
  Deployment "AttachmentStore" is in error due to: java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]

DEPLOYMENTS MISSING DEPENDENCIES:
  Deployment "ProfileServiceBootstrap" is missing the following dependencies:
    Dependency "ProfileService" (should be in state "Installed", but is actually in state "Instantiated")
    Dependency "jboss.kernel:service=Kernel" (should be in state "Installed", but is actually in state "**ERROR**")
  Deployment "ProfileServiceDeployer" is missing the following dependencies:
    Dependency "AttachmentStore" (should be in state "Installed", but is actually in state "**ERROR**")
  Deployment "ProfileService" is missing the following dependencies:
    Dependency "ProfileServiceDeployer" (should be in state "Installed", but is actually in state "Instantiated")
    Dependency "jboss.kernel:service=KernelController" (should be in state "Installed", but is actually in state "**ERROR**")
  Deployment "ProfileServicePersistenceDeployer" is missing the following dependencies:
    Dependency "AttachmentStore" (should be in state "Installed", but is actually in state "**ERROR**")

    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.internalValidate(AbstractKernelDeployer.java:278)
    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.validate(AbstractKernelDeployer.java:174)
    at org.jboss.bootstrap.microcontainer.ServerImpl.doStart(ServerImpl.java:142)
    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:450)
    at org.jboss.Main.boot(Main.java:221)
    at org.jboss.Main$1.run(Main.java:556)
    at java.lang.Thread.run(Thread.java:619)
23:53:11,600 INFO  [ServerImpl] Runtime shutdown hook called, forceHalt: true
23:53:11,615 INFO  [ServerImpl] Shutdown complete 

以前有没有人遇到过类似的问题?我还没遇到过

【问题讨论】:

【参考方案1】:

看起来像 JRE 和操作系统版本的某些特定组合出现的错误(请参阅https://jira.jboss.org/jira/browse/JBAS-6981)。基本上,JBoss config 是依靠反射以一定的顺序返回构造函数,在某些情况下这个顺序是不同的,导致异常。您是否在重新安装时更改了 JRE 版本,例如从 1.6.0_17 更改为 _18?

无论如何,解决方法在 JIRA 问题和here 中都有描述。您需要更改conf/bootstrap/profile.xml 的内容。查找AttachmentStore 的定义,并更改构造函数行,使其以这样的方式开始(即将class XML 属性添加到parameter 标记):

<constructor><parameter class="java.io.File"><inject …

原始版本没有class="java.io.File" 属性。

JBoss 的人很草率,但你去吧。

【讨论】:

我在 profile.xml 中找不到 jboss5.0.1GA 当前版本的 AttachmentStore【参考方案2】:

jboss-5.0.0.GA-JDK6/server/default/conf/bootstrap$ diff bindings.xml.old bindings.xml

在这个文件中你必须改变两件事。 一:

<bean name="StandardBindings" class="java.util.HashSet"
< elementClass="org.jboss.services.binding.ServiceBindingMetadata">
<constructor>
<parameter>
<set>
—New
<bean name="StandardBindings" class="java.util.HashSet">
 <constructor>
<parameter class="java.util.Collection">
 <set elementClass="org.jboss.services.binding.ServiceBindingMetadata">

第二个:然后是你在下面的 bean 定义中的 http 端口号

<bean class="org.jboss.services.binding.ServiceBindingMetadata">
               <property name="serviceName">jboss.web:service=WebServer</property>
               <property name="port">7070</property>

【讨论】:

以上是关于启动 jboss 服务器时出错的主要内容,如果未能解决你的问题,请参考以下文章

JBoss 启动时出错:地址已在使用中

绑定默认 hsql 数据源时启动 Jboss 4.3 时出错

关闭 JBOSS 时出错

在Windows 7 64位上启动JBoss 7.1.1时出错

在 Eclipse Luna 中配置 jboss-eap-6.4 服务器时分配正确的主目录时出错

JBoss 6 迁移:部署 grails 应用程序时出错