私が初めてJMSおよびキュー(Azureのキュー)で働いています。私はルビサーバは、いくつかのデータを書きますとJavaは、キューからそれを読んでいましたし、さらに実行を行いますキューを作成するために必要です。このプロセスは、私のマシン上でローカルに正常に動作しています。私はキューにデータを書き込んでいるRESTエンドポイントを作成したとのデータがキューに書き込まれると、リスナーが引き継ぎ、データを読み込んで実行されます。私たちはアズールにエラーを、それを展開するとき、私はキューが開始させていないログで見ることができます
Setup of JMS message listener invoker failed for destination 'queue' - trying to recover. Cause: Identifier contains invalid JMS identifier character '-': 'x-request-id'
Zipkinは、分散トレーシングシステムなどのAzureサーバー上に存在していると私は、これは推測するx-request-id
問題を作成しているZipkinに関連しています。私はこの問題をGoogleを検索したが、なぜその出来事を理解することができませんでした。
以下は、詳細なエラーメッセージです。
[36mc.m.s.l.NextGenRequestLoggingFilter [0;39m [2m:[0;39m
Before request [uri=/services/deal-service/api/v2/deals/ack;headers=
[x-request-id:"2d8d86d7-4fbf-9db6-8e95-28813f21a85c",
x-envoy-internal:"true", x-b3-parentspanid:"a209cdc649b0b890", content-
length:"575", x-forwarded-proto:"http", postman-token:"ad074595-
76a5-474b-9711-7e071b12b3b0", x-b3-sampled:"1", x-forwarded-
for:"10.244.2.1", accept:"*/*",
authorization: "some-token-YJc4tg--34jPRziJNSACqNQ", x-b3-
traceid:"6b40ff22781be67ba209cdc649b0b890", x-b3-
spanid:"702684ddb62cfe6b",
host:"portal-gateway.52.228.65.225.nip.io",
cache-control:"no-cache", accept-encoding:"gzip, deflate, br",
user-agent:"PostmanRuntime/7.22.0",
Content-Type:"application/xml;charset=UTF-8"]]
2020-02-18T15:19:34.197666458Z [2m2020-02-18 15:19:34.197[0;39m .
[32mDEBUG
[,6b40ff22781be67ba209cdc649b0b890,702684ddb62cfe6b,true][0;39m .
[35m9[0;39m [2m---[0;39m [2m[ XNIO-1 task-15][0;39m
あなたは、キューを介した通信のためのqpid JMSクライアントを使用していることを明らかにそのエラーメッセージから。qpidクライアントは、Javaの変数の命名規則は、あなたはそれがエラーをスローされますようqpid JMSクライアントが消費しているキューのヘッダーにX-要求-IDを送信することはできません例えば違反するキーを許可しません。あなたは、そのは、紺碧のバス上で通信しようとしたときにキューに特定のヘッダ(あなたが実際にそれらを必要としないID)を追加しないようにzipkin / istioの世話をする必要があります。キューから/へのリクエストは、ヘッダーなしで行うことができるように、キューの要求をインターセプトするistio / zipkinライブラリを無効にする必要がありますので。これは、問題を解決します。