Eclipse Paho MQTTクライアントから簡単なトピック "foo"を購読しようとしています。Eclipse Kapuaブローカー:トピックを購読する権限がありません
ブローカーはEclipse Kapuaによって管理され、資格情報が「kapua-broker」および「kapua-password」のtcp:// localhost:1883からアクセスできます。
私は値をこのように公開しています:
send(new Payload.Builder().put("testKey","testVal"),"foo");
これは基本的に、トピック "foo" というマップで( "とtestkey"、 "testValという")を送信します。
String topic = "foo";
String broker = "tcp://"+host+":"+Integer.toString(port);
String clientId = "supply-chain-control-simulation-listener";
String username = "kapua-broker";
String password = "kapua-password";
try {
MqttClient client = new MqttClient(broker, clientId);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(true);
connOpts.setUserName(username);
connOpts.setPassword(password.toCharArray());
connOpts.setCleanSession(true);
logger.info("Connecting to broker: "+broker);
client.setCallback(new MqttCallback() {
@Override
public void connectionLost(Throwable throwable) {
logger.info("Subscriptions stopped");
}
@Override
public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
logger.info(s);
logger.info(mqttMessage.getPayload().toString());
}
@Override
public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
}
});
client.connect(connOpts);
if (client.isConnected())
logger.info("Connected");
else
logger.error(client.getDebug().toString());
client.subscribe(topic,2);
} catch(MqttException me) {
logger.error("reason "+me.getReasonCode());
logger.error("msg "+me.getMessage());
logger.error("loc "+me.getLocalizedMessage());
logger.error("cause "+me.getCause());
logger.error("excep "+me);
me.printStackTrace();
}
接続動作しますが、サブスクリプションの出力このエラー:
午前15時40分このトピックを購読するには、私は次のコード(ホスト= "localhost" を、ポート= 1883)を持っています:03.240 [ActiveMQ NIOワーカー0] WARN oekbcpKapuaSecurityBrokerFilter - ユーザー1:kapua-broker(サプライチェーンコントロール - シミュレーションリスナー - tcp://172.17.0.1:40888 - conn id 1734706196170193882)は、トピック://VirtualTopic.foo
あなたの答えをありがとう。あなたはこのようにきれいですが、残念ながら私はまだ同じエラーが発生します。問題は、私がブローカーをコントロールしていないことです。それは、カプルアプロジェクトの一部であり、それを使用するには、ドッキング用のコンテナを始めるだけです。 –