2017-09-02 1 views
1

私は私のユースケースのためケフェウス座GEを使用して、私は、マルチテナントモードでそれを有効にし、それに私のconfig.jsonファイルをアップロードし、しかし、私は順番にケフェウス座ブローカーへの更新を送信するために開始それをCEPに転送するには、Cepheusブローカーはアップデートを受け取るだけですが、config.jsonに設定されているサービスとサービスパスを認識できないため、Cepheusの上限に転送しません。私がCepheus-CEPに直接更新を送ろうとすると、それを受け入れて正常に処理しました。そのため、マルチテナントモードで有効になっているCepheusブローカーがFiwareサービスを認識できないのはなぜですか?エラーケフェウス座ブローカー転送しないアップデート

"brokers":[ 
    { 
     "url":"http://XXX.XX.XX.XX:1026", 
     "serviceName": "f", 
     "servicePath": "/f", 
     "authToken": "XXX" 
    } 
] 

これはケフェウス座ブローカーのログですが、次のように

設定ファイルのサービス定義があります。次のようにアップデートを送信

2017-09-02 08:55:32,546 [/O dispatcher 1] WARN c.o.c.b.c.NgsiController - NotifyContext failed for http://localhost:8080/ngsi10/notifyContext$ 
2017-09-02 09:05:33,358 [nio-8081-exec-1] WARN c.o.c.b.c.NgsiController - UpdateContext failed for http://localhost:8082: Connection refused 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_72-internal] 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_72-internal] 
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:173) ~[httpcore-nio-4.4.1.$ 
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:147) ~[httpcore-nio-4.4.1$ 
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:350) ~[httpcore-nio-4.4.1.j$ 
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:191) ~[httpasync$ 
    at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) ~[httpasyncclient-4.1.jar!$ 
    at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_72-internal] 

java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_72-internal] 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_72-internal] 
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:173) ~[httpcore-nio-4.4.1.$ 
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:147) ~[httpcore-nio-4.4.1$ 
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:350) ~[httpcore-nio-4.4.1.j$ 
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:191) ~[httpasync$ 
    at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) ~[httpasyncclient-4.1.jar!$ 
    at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_72-internal] 
2017-09-02 09:33:12,316 [pool-2-thread-1] WARN c.o.c.b.c.NgsiController - UpdateContext failed for http://localhost:8082: Connection refused 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_72-internal] 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_72-internal] 
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:173) [httpcore-nio-4.4.1.j$ 
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:147) [httpcore-nio-4.4.1.$ 
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:350) ~[httpcore-nio-4.4.1.j$ 
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:191) ~[httpasync$ 
    at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) ~[httpasyncclient-4.1.jar!$ 
    at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_72-internal] 

スクリプトファイルがある

(curl XXX.XXX.XXX.XXX:8081/v1/updateContext/ -s -S --header 'Content-Type: application/json' --header "Fiware-Service: f" --header "Fiware-ServicePath:/f " --header 'Accept: application/json' -d @- | python -mjson.tool) <<EOF 

{ "contextElements": [ 
    { 
     "type": "Lab", 
     "isPattern": "false", 
     "id": "Lab111", 
     "attributes": [ 
     { 
      "name": "priority", 
      "type": "double", 
      "value": "1" 
     },        
     { 
      "name": "controller", 
      "type": "string", 
      "value": "Controller111" 
     } 
     ] 
    } 
], 
    "updateAction": "UPDATE" 
} 
EOF 

は今、私はこの問題は可能性がどこかを知りたいしてください?

+0

@Marcはあなたの任意のアイデアをお持ちですか? – ahmad

答えて

0

現在、Fiware-Cepheusブローカーはマルチテナントリクエスト(Fiware-ServiceFiware-ServicePathヘッダーを使用)をサポートしていないため、CEPだけがマルチテナントを処理できます。より一般的には、ブローカーは、オリオンのような本格的なブローカーと比較して、非常に少数の機能を備えています。

あなたはマルチテナントブローカーが必要な場合は、オリオンコンテキストブローカーを使用します。https://fiware-orion.readthedocs.io/en/master/user/multitenancy/index.html

+0

CEPのマルチテナントブローカーにOrion Context Brokerを使用しようとしましたが、Orionの変更がCEPに届かないCEPとOrionを正しい方法で接続するにはどうすればよいですか? – ahmad

+0

orionに登録すると*** cepheusリクエストメソッド 'POST'はサポートされていません*** – ahmad

関連する問題