Hi! I am trying to use Apache Qpid Dispatcher as a standalone router to route 
messages to a Rabbit MQ broker using AMQP 1.0. The dispatcher in installed on a 
Fedora 38 server. The sending of the message is done via a Java application 
using Apache Qpid JMS. I have managed to configure up a listener and a 
connector in qdrouter.conf file so that the connector gets connected to the 
broker via amqps when I start the Dispatcher. (The broker is at another company 
and I don't have direct access to the setup or log files.) When the Java 
application has connection to the router it starts to send messages. Here 
things start to go wrong, the Java application hangs with no log or timeout. 
There is a log in the dispatcher proxy though saying:
2024-05-29 13:00:22.735228 +0200 ROUTER_CORE (info) [C2][L7] Link attached: 
dir=in 
source={nhn_tjenestebuss_connection_bd093b5d-8b30-4a1f-8c60-00ed2c71f126:101:4:1
 expire:sess outcomes:@PN_SYMBOL[:"amqp:accepted:list", :"amqp:rejected:list", 
:"amqp:released:list", :"amqp:modified:list"]} 
target={/exchange/NHNTESTServiceBus/8093239_async expire:sess 
caps:@PN_SYMBOL[:queue]}
2024-05-29 13:00:22.735638 +0200 PROTOCOL (trace) [C2]:FRAME: 4 -> @attach(18) 
[name="qpid-jms:sender:nhn_tjenestebuss_connection_bd093b5d-8b30-4a1f-8c60-00ed2c71f126:101:4:1:/exchange/NHNTESTServiceBus/8093239_async",
 handle=0x0, role=true, snd-settle-mode=0x2, rcv-settle-mode=0x0, 
source=@source(40) 
[address="nhn_tjenestebuss_connection_bd093b5d-8b30-4a1f-8c60-00ed2c71f126:101:4:1",
 durable=0x0, expiry-policy=:session-end, timeout=0x0, dynamic=false, 
outcomes=@<symbol>[:"amqp:accepted:list", :"amqp:rejected:list", 
:"amqp:released:list", :"amqp:modified:list"]], target=@target(41) 
[address="/exchange/NHNTESTServiceBus/8093239_async", durable=0x0, 
expiry-policy=:session-end, timeout=0x0, dynamic=false, 
capabilities=@<symbol>[:queue]], initial-delivery-count=0x0, 
max-message-size=0x0]
I also did a tcp dump on the communication between the dispatcher and the 
broker and got a checksum error meaning The checksum reported by the TCP/IP 
stack is 0xad3f, but it should be 0xdc4c.  The connector and SSL setup looks 
like this:

connector {
    name: helsenorge_connector
    host: tb.test.nhn.no
    role: route-container
    port: 5671
    saslMechanisms: PLAIN
    saslUsername: Testuser
    saslPassword: file:/home/test/.pwd
    sslProfile: sslProfile1
}

sslProfile {
    name: sslProfile1
    certFile: /etc/qpid-dispatch/cert.pem
    privateKeyFile: /etc/qpid-dispatch/key.pem
    caCertFile: /etc/qpid-dispatch/ca-cert.pem
}
The listener is not using amqps but amqp and is configured like this:
listener {
    host: 0.0.0.0
    port: 5673
    role: normal
    #authenticatePeer: yes
    idleTimeoutSeconds: 12
    saslMechanisms: ANONYMOUS
}
Other config for the dispatcher looks like this:
router {
    mode: standalone
}

address {
    prefix: myAddress
    distribution: closest
}
linkRoute {
    prefix: myAddress
    connection: helsenorge_connector
    direction: in
}

linkRoute {
    prefix: myAddress
    connection: helsenorge_connector
    direction: out
}
log {
    module: DEFAULT
    enable: trace+
}
When I turn off the dispatcher and send messages directly from the Java 
application to the broker everything works fine. What have I missed here?

Kind Regards
Björn Eklund

Reply via email to