問題タブ [aerogear]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - PhantomJS での MQTT over WebSockets "AMQJS0008I Socket closed" 接続エラー
JBoss AeroGear JavaScript 通知機能は、さまざまなメッセージング サービスおよびプロトコルと対話するための統合/類似 API を提供するアダプターのコレクションです。
問題
Eclipse Paho MQTT JavaScript クライアントに依存するJBoss AeroGear JS MQTT over WS アダプターの QUnit テストをいくつか書いています。テストは Firefox/Chrome では機能しますが、PhantomJS 1.9.7 ではAMQJS0008I Socket closed
接続エラーで失敗します。
当初、私のテストは Apache Active MQ ブローカー バージョン 5.9.0 に対して実行されていました。このバージョンは、すぐに WebSocket 経由で MQTT をサポートします。また、WebSockets サンドボックス環境で Eclipse Paho MQTT を使用するようにそれらを変更しましたws://iot.eclipse.org/ws
が、問題はまだ存在します。
再現する方法は?
GitHub リポジトリのクローンを作成しますhttps://github.com/tolis-e/aerogear-js-integration
。stackoverflow
ブランチをチェックアウトし、実行npm install
してからgrunt integration-iot --debug
. テストが Firefox/Chrome で機能していることを確認するにtests/notifier/mqttws.html
は、ブラウザで を開きます。QUnit テストはmqttws.jsファイル内にあります。以下のログでわかるように、AMQJS0008I Socket closed
エラーが発生しています。
エラーの原因について何か考えはありますか? この問題は、PhantomJS 1.9.7 が Web Sockets RFC 6455 をサポートしていないことに関連していると私は考えています。RFC 6455 は PhantomJS 2.x でサポートされるようです。
ログ
android - aerogear 統合プッシュ サーバーから Android クライアントの登録を解除する
アクティビティ/サービス、またはエアロギアのインストールから使用するものの登録/登録解除の処理で問題に直面しています。
サービス onCreate() から登録し、onDestroy() で登録解除すると、アプリケーションをアンインストールすると、デバイスがサーバー側に登録されたままになります...アプリケーションを再度インストールすると、デバイスが再度登録され、これを繰り返すことができます。あなたは疲れます。そしてもちろん、ユーザーが指定したエイリアスにプッシュを送信すると、メッセージは登録ごとに 1 回届きます。
また、アプリケーションが aerogear に登録されるたびに、deviceToken が異なります。つまり、ペア (アプリ、デバイス) の一意の識別子よりも、インストールごとに生成されたハッシュに関係することが多くなります。
では、問題は、サイクル全体をどのように処理するかということです。つまり、毎日の実行と、ユーザーがアプリをアンインストールすることを決定した場合の問題は、アプリが強制終了されて登録を解除できず、1か月後にアプリがとても気に入ったと判断して、もう一度再インストールすることになります。どうも。
アップデート
アプリケーションをテストするにつれて、問題は大きくなります。同じデバイスで 2 人の異なるユーザーでログインすると、両方のユーザー メッセージが表示され、クライアントの実装をもう少しひねる必要があります。
aerogear データベース データで更新
3 回の再インストールを行った 2 台のデバイスのインストール ログは次のとおりです。
javascript - チタン プッシュ通知 AeroGear
AeroGearから Titanium アプリに通知を送信しようとしています。トークンを取得した後、チャンネルに登録するにはどうすればよいですか?
トークンの取得:
これは、ネイティブ Androidのサンプル コードです。
ここで本当に迷子になりました。助けていただければ幸いです。
node.js - Aerogear 統合プッシュ ノード js クライアント エイリアス基準が機能しない
「エイリアス」を使用して 1 つのデバイスのみにプッシュ メッセージを送信する次のコードを実行していますが、すべてのインストールにメッセージが送信されています。
コードは次のとおりです。
出力:
成功と呼ばれるジョブが送信されました
hibernate - Docker 環境で Mysql を使用して Aerogear 統合プッシュ サーバーを起動する方法
mysql データベースを使用して docker 環境で aerogear 統合プッシュ サーバーを起動するのに苦労しています。私はエアロギアのドキュメントをフォローしています こちら.
だから私はmysql dockerコンテナを始めました
エアロギアのドキュメントに記載されていることを適用しました
次に、aerogear のドキュメントに記載されている内容を適用して、次の docker ファイルを使用して docker イメージを準備しました。ドッカーファイルはこちら
このイメージから、mysql にリンクされたコンテナーを開始しました。
Wildfly サーバーは、まだ何もデプロイされていない状態で正常に起動します。docker exec を使用して、mysql cli スクリプトを適用しました。
データベース アクセス ホストに localhost の代わりに mysql を使用するように mysql-database-config-wildfly.cli を更新した後。
まだdocker execを使用して、最終的に2つのwarファイルをstandalone/deploymentディレクトリに移動しましたが、データベースが見つからないように見えるため、これはうまくいきません。
発生した例外のコピーの一部を次に示します。私は Hibernate と Jboss に詳しくないので、根本的な原因がこの hibernate.dialect が設定されていないことにあるのか、それとも 2 つのコンテナー間の通信の問題にあるのかわかりません。