問題タブ [mina]
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.
android - 回復可能なプロトコルデコーダー例外を解決する方法:アンドロイドで行が長すぎます
こんにちは私はアンドロイドを初めて使用します。json.を使用してサーバーから応答を受け取りました。応答を受け取ったとき、ここにエラーが表示されます
03-22 15:43:46.312: WARN/System.err(541): org.apache.mina.filter.codec.RecoverableProtocolDecoderException: 行が長すぎます:
03-22 15:43:46.321: WARN/System.err(541): org.apache.mina.filter.codec.textline.TextLineDecoder.decodeAuto(TextLineDecoder.java:214) で
03-22 15:43:46.321: WARN/System.err(541): org.apache.mina.filter.codec.textline.TextLineDecoder.decode (TextLineDecoder.java:138) で
03-22 15:43:46.321: WARN/System.err(541): org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived (ProtocolCodecFilter.java:224) で
03-22 15:43:46.321: WARN/System.err(541): org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived (DefaultIoFilterChain.java:431) で
java - wowza Java の CPU 使用率が高い
wowza の CPU 使用率に問題があります。
これは疑わしいスレッドです。このスレッドは高い CPU を使用しています。
このスレッドは高い CPU を使用しました。これはjdkのバグですか?
これは私の環境です。
CentOS リリース 5.4 (最終版)
WowzaMediaServer-3.1.2
Java バージョン 1.6.0_23 Java(TM) SE ランタイム環境 (ビルド 1.6.0_23-b05) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 19.0-b09、混合モード)
java - MINA アクセス メッセージ キュー
MINA の NioProcessor スレッドの一部またはすべてが過負荷になるという問題があります。これは、実際にアプリケーションのパフォーマンスを調整しているためです。できるだけ多くの作業を引き受けてもらいたいので、いっぱいになったときに作業負荷を軽減できるように監視する方法を考えています。私は MINA のソース コードを調べて、ワーカー スレッドがポーリングするタスク キューなどの何らかの構造を探していました。理想的には、そのプールを監視し、プールがいっぱいになったときに作業を減らすためのアクションを実行できるからです。そのような構造が存在するかどうか、またはそれにアクセスする方法を知るために、MINAの実装について十分な知識を持っている人はいますか?
java - MINA アプリケーションで使用済みヒープが常に増加しているのはなぜですか?
サーバーとクライアントの 2 つの部分で構成されるアプリケーションがあります。
それはこのように動作します :
クライアントはサーバーに接続し、文字列を送信します。サーバーは文字列を受け取り、(文字列を変換して) 10000 個の要素を含む ArrayList を返します。
多くのクライアントが1つの接続を使用してサーバーから10000個の要素を取得することをシミュレートするクラス(ClientConnector.java)を作成しました。
この2つのプログラムを実行すると、サーバー側は問題ありません。ただし、クライアント側では、使用されるヒープは常に増加しています! 使用済みオブジェクトを「null」で解放しようとしましたが、使用済みメモリはまだ大きくなっています。
http://s10.postimage.org/egf4ugrd5/mem.png
私のサーバー側コード: Client.java
パブリック クラス クライアント {
}
ClientHandler.java
public class ClientHandler extends IoHandlerAdapter {
}
私のサーバー側: Server.java
パブリック クラス サーバー {
}
ServerHandler.java
public class ServerHandler extends IoHandlerAdapter {
}
そして私のメインクラス
パブリッククラスClientConnector {
}
java - ApacheMINAは未使用のデータを削除しません
MINAクライアントについて少し問題があります。
サーバーへの接続を1つだけ作成すると、サーバーは1秒ごとに定期的に何らかのデータを送信します。
つまり、クライアントはサーバーに接続します。サーバーは文字列をクライアントに送り返し、これらのすべてのステップは同じ開いた接続(同じクライアントオブジェクトとクライアントハンドラー)を使用します。
しかし、問題は、古いデータがGCによって収集されていないことだと思います。使用されるヒープは数秒で大きくなり、減少することはありません。messageReceivedメソッドが空です!
何か案が ?
serial-port - Apache Mina シリアル エラー: java.lang.NoSuchMethodError
私は Apache Mina とのシリアル接続で何日も働いてきました。しかし、私は運がありませんでした。小さなテスト プログラムを作成したところ、次のエラーが返されました。
この問題を解決するために何ができるかわかりません...
ここに私の小さなSerialTest.javaがあります
java - 後でjavanioを使用してキーから読み取ることができるように、キーをキャンセルする方法はありますか
新しいjavanioライブラリの主要コンポーネントとしてtcpフロー制御を取得したいと思います。このように動作します...
- ライブラリは、データをListener.incomingData(DataChunk dataChunk);に起動します。
- dataChunk.processed()が呼び出されるまで、ライブラリはデータが存在する場合でもそれ以上データを起動しません。
- 通常、最初のいくつかのdataChunkでprocessed()メソッドを呼び出すことができますが、メッセージの最後の1つで、リモートソケットに書き込み、コールバックハンドラーを指定します。
- 書き込みコールバックが呼び出されたら、最後のdataChunk.processed()を呼び出して、tcpフロー制御を再度解除します。
大きな注意:ステップ2は、NICバッファーから読み取らない場合に、tcpフロー制御が自動的に開始される場所です。これはすべて自動です(Java nioでテストしました)。ただし、問題は、ポーラーが解放を停止し、このソケットを除く他のすべてのソケットでデータを待機する状態にキーをどのように配置するかです。最後のdataChunkが処理されていないことがわかり、無視されるため、新しいデータがあるときにリリースされてもかまいませんが、ポーラースレッドが100%CPUを循環することは望ましくありません。この潜在的なオープンソースのnioフレームワークを使用して、任意のサーバーの自動スロットリングを実現できるように、これを実現する方法はありますか。
multithreading - Apache mina 接続が原因で Tomcat がシャットダウンしない
私は次の構成を持っています:
Apache mina を使用して Java コンソール アプリケーション (またはその他のタイプのアプリケーション) に接続してデータを取得する Spring MVC アプリケーションを実行する tomcat7 サーバー。
明らかに、サーバーをシャットダウンすると、別のスレッドにまだ開いているセッションがあり、Tomcat7 のシャットダウンを妨げています。だから私がすることは次のとおりです:
そして web.xml 内
ContextListener が機能し、コンソール アプリケーション (ソケット接続のサーバー側) でさえ、セッションが終了したことを通知します。しかし、Eclipse GUI を介して tomcat を停止しようとすると、シャットダウンに失敗し、Eclipse は反応していないことを通知し、サーバーを強制的に終了するように指示します。
サーバーからの最後のログエントリは次のとおりです。
Dez 19, 2012 4:39:17 PM org.apache.coyote.AbstractProtocolHandler 停止情報: ProtocolHandler ["ajp-bio-8009"] を停止しています
tomcat-servlet 内で実行されている私のコード:
接続を開くときにminが起動する他のスレッドはありますか? Tomcat インスタンスが正しくシャットダウンされない原因は何ですか?
java - 同じ JVM 内で Apache MINA と Netty を実行する
アプリケーション内で 2 つのサービスを実行する必要があります。1 つはテキスト プロトコル ベースのソケット サーバーで、もう 1 つは HTTP プロトコル ベースのサーバーです。ソケット サーバーでは NIO フレームワークとして Apache MINA を使用していますが、http プロトコルでは Netty HTTP 実装を使用したいと考えています。
1 つのフレームワーク (Netty) に統合することを検討しましたが、大きなペイロードの処理に関しては、Netty でパフォーマンスの問題が発生しています。MINA (2.0.7) は、ソケット サーバーでこのような負荷をうまく処理します。HTTP サーバーの MINA AsyncWeb も調べましたが、このプロジェクトは終了しているようです。
私の質問は、このアーキテクチャのジレンマに遭遇した人はいますか? 異なるソケットの同じ JVM 内で両方のフレームワークを実行しても問題ないでしょうか。
ところで:同じJVM内で両方のフレームワークをソケットサーバーとして実行し、それらの負荷テストに成功しました。Netty ソケット サーバーを HTTP サーバーに変換するだけです。
ありがとうソヒル
port - min サーバーの応答ポートが、着信メッセージのポートと異なります
ポート xxx でメッセージを受信するサーバーをセットアップしましたが、ポート yyy に応答したいと考えています。これを達成する簡単な方法はありますか?
私のサーバー:
私のエンコーダーのエンコード方法:
msessage は別のポートに書き込む必要があります。どうすればこれを達成できますか?