Hi all i'm try to deploy a esb project into jboss server 5.1ga
But i got this error
**My Enviroment is
Jboss 5.1 ga,
Jboss Developer Studio 5.0**
Jboss esb 4.11
Riftsaw 2.3.0
17:58:49,155 ERROR [AbstractKernelController] Error installing to Parse: name=vfszip:/D:/jboss-5.1.0.GA/server/default/deploy/Save_Event2.esb/ state=Not Installed mode=Manual requiredState=Parse
org.jboss.deployment.DeploymentException: Key properties cannot be empty
at org.jboss.soa.esb.listeners.deployers.mc.EsbConfigParser.getDependenciesFromDeploymentXml(EsbConfigParser.java:265)
at org.jboss.soa.esb.listeners.deployers.mc.EsbConfigParser.parse(EsbConfigParser.java:170)
at org.jboss.soa.esb.listeners.deployers.mc.EsbConfigParser.parse(EsbConfigParser.java:83)
at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parseAndInit(AbstractVFSParsingDeployer.java:256)
at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parse(AbstractVFSParsingDeployer.java:239)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:355)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:322)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:294)
at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.deploy(AbstractParsingDeployerWithOutput.java:234)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
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.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
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.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.management.MalformedObjectNameException: Key properties cannot be empty
at javax.management.ObjectName.construct(Unknown Source)
at javax.management.ObjectName.<init>(Unknown Source)
at org.jboss.soa.esb.listeners.deployers.mc.EsbConfigParser.getDependenciesFromDeploymentXml(EsbConfigParser.java:247)
... 38 more
这是我得到的错误,我试图将bpel结果传递给esb并回到bpes。
---我的deployment.xml -----------------
<?xml version="1.0"?>
<jbossesb-deployment>
<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_ esb_reply</depends>
<depends>quickstart_helloworld_Request_esb</depends>
<depends>quickstart_helloworld_Request_gw</depends>
</jbossesb-deployment>
- 我的jbm-queue-service.xml -----------
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_esb_reply"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_esb"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_gw"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>
</server>
----我的jboss-esb.xml -----------
<?xml version = "1.0" encoding = "UTF-8"?>
<jbossesb
xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"
parameterReloadSecs="5">
<providers>
<jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter dest-type="QUEUE"
dest-name="queue/quickstart_helloworld_Request_gw" />
</jms-bus>
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter dest-type="QUEUE"
dest-name="queue/quickstart_helloworld_Request_esb" />
</jms-bus>
<jms-bus busid="quickstartEsbReplyChannel">
<jms-message-filter dest-type="QUEUE"
dest-name="queue/quickstart_helloworld_Request_esb_reply" />
</jms-bus>
</jms-provider>
<jbr-provider name="JBR-Http-1" protocol="http" host="localhost">
<jbr-bus busid="Http-1" port="8088" />
</jbr-provider>
</providers>
<services>
<service category="FirstServiceESB" name="SimpleListener"
description="Hello World">
<listeners>
<jms-listener name="JMS-Gateway" busidref="quickstartGwChannel"
is-gateway="true" />
<jms-listener name="helloWorld" busidref="quickstartEsbChannel" />
<jbr-listener name="Http-Gateway" busidref="Http-1"
is-gateway="true" />
</listeners>
<actions mep="RequestResponse">
<action name="action1"
class="MyJMSListenerAction"
process="displayMessage" />
<!--
<action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="printfull" value="false" />
</action>
The next action is for Continuous Integration testing
<action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore" />
-->
</actions>
</service>
</services>
</jbossesb>
任何帮助赞赏。 最好的祝福, 普拉迪普。
答案 0 :(得分:0)
如果查看错误的堆栈跟踪,可以看到错误是来自EsbConfigParser的MalformedObjectNameException:
org.jboss.soa.esb.listeners.deployers.mc.EsbConfigParser.getDependenciesFromDeploymentXml(EsbConfigParser.java:247)
引发错误的方法名称是
getDependenciesFromDeploymentXml
所以看起来问题出现在部署xml中。
现在我们可以通过查看类的源代码(https://www.java2s.com/Open-Source/Java/JBoss/jbossesb-4.7/org/jboss/soa/esb/listeners/deployers/mc/EsbConfigParser.java.htm)来确认这一点,并看到它正在执行此操作:
Iterator depends = MetaData.getChildrenByTagName(jboss, "depends");
if (depends != null)
{
while (depends.hasNext())
{
Element depend = (Element) depends.next();
dependencies.add(new ObjectName(MetaData.getElementContent(depend)));
}
}
然后,如果我们查看上面的deployment.xml,确实有一个看起来无效的元素:
<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_ esb_reply</depends>
“quickstart_helloworld_Request_ esb_reply”在“Request_”和“esb_reply”之间不应有空格。
将其更改为“quickstart_helloworld_Request_esb_reply”。