Search code examples
jbossjboss7.xhornetqjboss-eap-6jms-queue

JBoss 7 (EAP 6) CLI configuration: 'queue-address' is not found among the supported properties: [selector, entries, durable]


I am on JBoss EAP 6 and my task is to migrate a server to the Cloud.

I get JBoss to start, but then some queue fails with:

     [echo] try to connect to local JBoss...
Checking for listener at 127.0.0.1:17545
Checking for listener at 127.0.0.1:17545
waitfor: condition was met
Property "jboss.not.started" has not been set
     [echo] ...connection is available.
  [antcall] Exiting /app/project/app/jboss-6.4-inst1/pi-deploy/tools/extension/configure.xml.
     [echo] env.JBOSS_HOME=/opt/inet/jboss-6.4
     [java] Executing '/opt/dbsinfra/zst/jdk-1.8.0_161/jre/bin/java' with arguments:
     [java] '-jar'
     [java] '/opt/inet/jboss-6.4/jboss-modules.jar'
     [java] '-mp'
     [java] '/opt/inet/jboss-6.4/modules'
     [java] 'org.jboss.as.cli'
     [java] '--file=/app/project/app/jboss-6.4-inst1/pi-deploy/../bin/configure.cli'
     [java]
     [java] The ' characters around the executable and arguments are
     [java] not part of the command.
     [java] INFO  [org.jboss.modules] JBoss Modules version 1.3.10.Final-redhat-1
     [java] INFO  [org.xnio] XNIO Version 3.0.16.GA-redhat-1
     [java] INFO  [org.xnio.nio] XNIO NIO Implementation Version 3.0.16.GA-redhat-1
     [java] INFO  [org.jboss.remoting] JBoss Remoting version 3.3.12.Final-redhat-2
     [java] INFO  [org.jboss.as.cli.CommandContext] The batch executed successfully
     [java] The batch executed successfully
     [java] ERROR [org.jboss.as.cli.CommandContext] 'queue-address' is not found among the supported properties: [selector, entries, durable]
     [java] 'queue-address' is not found among the supported properties: [selector, entries, durable]

You can see that the server gets configured via command line interface (CLI):

     [java] '--file=/app/project/app/jboss-6.4-inst1/pi-deploy/../bin/configure.cli'

The offending part of the configure.cli script is:

#######################################################################
#
# JMS Queues
# 
#######################################################################
# JMS Queue for business events

/subsystem=messaging:add()

/subsystem=messaging/hornetq-server=default:add()

/subsystem=messaging/hornetq-server=default/jms-queue=BusinessEventQueue:add(\
  entries=["/queue/BusinessEventQueue"],\
  queue-address="jms.queue.BusinessEventQueue"\                  <------ HERE
)

/subsystem=messaging/hornetq-server=default/in-vm-connector=in-vm:add(server-id="0")
/subsystem=messaging/hornetq-server=default/in-vm-acceptor=in-vm:add(server-id="0")
/subsystem=messaging/hornetq-server=default/pooled-connection-factory=InVmJMSConnectionFactory:add(\
  entries=["java:/InVmJMSConnectionFactory"],\
  connector={"in-vm" => undefined}\
)

/subsystem=ejb3:write-attribute(name="default-resource-adapter-name", value="InVmJMSConnectionFactory")
/subsystem=ejb3:write-attribute(name=default-mdb-instance-pool, value="mdb-strict-max-pool")

What I don't get here is:

We're moving from JBoss EAP 6.4 to JBoss EAP 6.4 and the old/previous server is running OK.

I have never come in touch with anything JMS-like...

Question:

What is queue-address="jms.queue.BusinessEventQueue" here? Is this some kind of name?

How do you probably fix this? -> replace by name param?

Thanks

PS: the situation is a little more complex as I cannot just change a local file. The files are pulled from an SVN repo, so any attempt involves a commit... etc.


Solution

  • You cannot use queue-address as an attribute for JMS-Queue "add" operation. As it's not a supported operation. Try the below command it should work.

    /subsystem=messaging/hornetq-server=default/jms-queue=BusinessEventQueue:add(\
    

    entries=["/queue/BusinessEventQueue"])

    When new JMS queue is created queue-address is set to jms.queue.BusinessEventQueue" by default. You can use below CLI command to check the value.

    /subsystem=messaging/hornetq-server=default/jms-queue=BusinessEventQueue:read-attribute(name=queue-address)
    

    if you have use queue-address while adding new JMS-queue, you will have use something like below.

    jms-queue add --queue-address=BusinessEventQueue --entries=/queue/BusinessEventQueue 
    

    jms.queue would be added by default not need to pass that part.