より大きなプロジェクトに必要な機能の小さな概念実証に苦労しています。
私のローカル マシンには、Wildfly 9 がインストールされています (ユーザー、パスワード、およびグループが構成されています)。小さな Java プログラムから HornetQ 経由でメッセージを送信できます<security-enabled>
。ユーザー/パスワードをいじって、期待どおりに機能するかどうかを確認できます。すごい!
ただし、JMS アウトバウンド エンドポイントを介してメッセージを送信しようとする単純な Mule フローもありますが、これは常に「HQ119031: Unable to validate user: null」で失敗します。私は、(Javaプログラムから)動作しているとわかっているユーザー/パスワードをどこでどのように指定するかを単純に理解できません。
あまり情報を提供してくれなかった同僚から、彼はすでに MuleSoft のサポートと連絡を取り合っていることを知っています。彼らは、「彼らは Mule と組み合わせた Wildfly についての知識がなく」、助けることができなかったと言っています。
ここに私のコネクタとフローがあります:
<jms:connector name="Wildfly9JMSConnector"
jndiInitialFactory="org.jboss.naming.remote.client.InitialContextFactory"
jndiProviderUrl="http-remoting://127.0.0.1:8085"
connectionFactoryJndiName="jms/RemoteConnectionFactor"
jndiDestinations="true" forceJndiDestinations="true"
disableTemporaryReplyToDestinations="true"
username="inara"
password="whitefall"
doc:name="JMS" validateConnections="true">
</jms:connector>
<flow name="jbossconnectiontestFlow">
<http:listener config-ref="HTTP_Listener_Configuration"
path="/jbosstest" doc:name="HTTP" />
<set-payload value="Shiny!" doc:name="Set Payload" />
<logger message="1. payload: #[payload]" level="INFO" doc:name="Logger" />
<jms:outbound-endpoint exchange-pattern="request-response" queue="jms/queue/CoordReceive" connector-ref="Wildfly9JMSConnector" doc:name="JMS">
<jms:transaction action="BEGIN_OR_JOIN"/>
</jms:outbound-endpoint>
<set-payload value="JMS message sent." doc:name="Set Payload"/>
<logger message="2. payload: #[payload]" level="INFO" doc:name="Logger"/>
<catch-exception-strategy doc:name="Catch Emdxception Strategy">
<logger level="INFO" doc:name="Logger" />
</catch-exception-strategy>
</flow>
部分的なスタック トレース:
ERROR 2015-10-20 16:53:01,948 [main] org.mule.retry.notifiers.ConnectNotifier: Failed to connect/reconnect: JmsConnector
{
name=Wildfly9JMSConnector
lifecycle=initialise
this=6540cf1d
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=false
supportedProtocols=[jms]
serviceOverrides=<none>
}
. Root Exception was: HQ119031: Unable to validate user: null. Type: class org.hornetq.api.core.HornetQSecurityException
ERROR 2015-10-20 16:53:01,956 [main] org.mule.module.launcher.application.DefaultMuleApplication: null
org.hornetq.api.core.HornetQSecurityException: HQ119031: Unable to validate user: null
より多くの情報、詳細が必要になると思いますが、間違ったデータであふれさせたくないので、尋ねてください。
更新:悲しいことに、@RyanCarter の提案は「それ」ではなかったか、おそらく「十分」ではありませんでした。「セキュリティ有効」を無効にすると、デプロイは成功しますが、メッセージを送信しようとすると失敗します。
スタック トレースの上部に「javax.jms.JMSException: There is no queue with name jms/queue/CoordReceive」が報告されます。私は現在、何が起こっているのかを把握しています.Javaプログラムが動作しているため、キューが存在することはわかっています. グーグルへ!