2016-04-23 10 views
1

run()がスリープ状態になる。このlinkWSO2 CEP

として炭素 - 分析 - 一般的なプロジェクトのMQTTAdapterListenerのソースコードで更新

MQTT接続には時間がかかります。

@Override 
public void run() { 
    while (!connectionSucceeded) { 
     try { 
      MQTTEventAdapterConstants.initialReconnectDuration = MQTTEventAdapterConstants.initialReconnectDuration 
        * MQTTEventAdapterConstants.reconnectionProgressionFactor; 
      Thread.sleep(MQTTEventAdapterConstants.initialReconnectDuration); 
      startListener(); 
      connectionSucceeded = true; 
      log.info("MQTT Connection successful"); 
     } catch (InterruptedException e) { 
      log.error("Interruption occurred while waiting for reconnection", e); 
     } catch (MqttException e) { 
      log.error("MQTT Exception occurred when starting listener", e); 

     } 

    } 
} 

initialReconnectDurationとreconnectionProgressionFactorは、私が12 MQTTと受信機、12 1は40960秒を寝ますを持っている場合は、以下のよう

public static int initialReconnectDuration = 10000; 
public static final int reconnectionProgressionFactor = 2; 

MQTTEventAdapterConstantsです。この2つの定数を変更する方法はないと思われますか?この問題を解決する方法はありますか? MQTT接続がこのようにスリープ・スレッドに設定されるのはなぜですか?


WS02 CEPバージョン4.0.0およびActiveMQバージョン5.13.0を使用しています。デプロイされたイベントレシーバーは次のとおりです

clientIdはデータベース内部のこのイベント実行プランのランダムオブジェクトIDです。トピックはActiveMQに存在し、メッセージがキューに入れられていると確信しています。クリーンセッションプロパティは、永続サブスクリプションに対してfalseに設定されています。

しかし、受信者は、WSO2 CEPを再起動した後、または新しい受信者を導入した後、常にActiveMQ TOPICに接続するのに多くの時間がかかります。

[2016-04-24 01:07:59,018] INFO {org.wso2.carbon.event.processor.manager.core.internal.CarbonEventManagementService} - Starting polling event receivers 
[2016-04-24 01:07:59,019] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 56f66bcc7a22442328cd229a_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,020] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 5718a6b1851cb3474c6f03c2_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,021] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 57144fa0851cb33590672418_X_DATA_RECEIVER 
[2016-04-24 01:07:59,022] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 5714b5f4851cb3338c26a1cc_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,022] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 571b9ef4851cb356e04ec90b_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,023] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 5714a305851cb3338c26a1c4_DELIVERY_ORDER_RECEI 
VER 
[2016-04-24 01:07:59,023] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 56f6b03e7a22440c30855015_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,024] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 56f665f27a22442328cd2299_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,024] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 5718a5d7851cb3474c6f03bf_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,025] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 56ef98137a22442e28360c0b_DELIVERY_ORDER_RECEI 
VER 
[2016-04-24 01:07:59,026] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 571747f2851cb3338c26a1da_PROBE_DATA_RECEIVER 
[2016-04-24 01:07:59,026] INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} - Connecting receiver 56f66c657a22442328cd229c_PROBE_DATA_RECEIVER 
[2016-04-24 01:08:19,044] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 01:08:39,041] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 01:09:19,034] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 01:10:39,037] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 01:13:19,046] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 01:18:39,035] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 01:29:19,038] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 01:50:39,036] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 02:33:19,039] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 03:58:39,043] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 06:49:19,038] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 
[2016-04-24 12:30:39,040] INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} - MQTT Connection successful 

12個の受信者があり、WSO2は01:07:59にポーリングを開始します。約10分後、12台の受信機のうち6台だけが正常に接続され、残りの受信機は約10時間以上かかります。

WSO2 CEPレシーバーのMQTTが遅く接続する理由は誰にも分かりますか?

答えて

1

再接続時間とプログレッシブ係数値を設定するための方法はありません。しかし、すでにコードを把握しているので、そのコンポーネントを(パッチファイルからそれらの値を読み込んだり、アダプターUIまたはハードコード値を使って)読み込んで、この制限を克服するためにパッチをdescribed hereとして適用することができます。

+0

こんにちはRajeev、私は本当にあなたの素晴らしいアイデアと答えに感謝します。私が使用したWSO2CEPがバージョン4.0.0であることを確認しました。リポジトリ\コンポーネント\プラグインのMQTTはorg.wso2.carbon.event.input.adapter.mqtt_5.0.3.jarです。そこで私はcarbon-analytics-commonプロジェクトのタグv5.0.3のソースコードをチェックし、コードを修正し、org.wso2.carbon.event.input.adapter.mqttモジュールをビルドしました。最後に、私はorg.wso2.carbon.event.input.adapter.mqtt-5.0.3.jarを持っています! – Bruce

+0

しかし、私はまだWSO2CEPにパッチを当てる方法を理解できません。 WSO2のパッチは単なる.jarファイルで、/repository/components/patches /に入れます。私はこれを行い、WSO2CEPサーバーを再起動しますが、-DapplyPatchesを使用するかどうかは関係ありません。 – Bruce

+0

BTW、私が作成したファイル名はorg.wso2.carbon.event.input.adapter.mqtt-5.0.3.jarで、WSO2CEPプラグインのものはorg.wso2.carbon.event.input.adapterです.mqtt_5.0.3.jar。だから、ビルドしたjarの名前をorg.wso2.carbon.event.input.adapter.mqtt_5.0.3.jarに変更し、それをpatchesフォルダに入れました。 – Bruce

関連する問題