Jersey、Apache Wink、JBoss RESTEasyから選ぶには?[クローズド]です。
2023-11-22 17:10:45
質問
今、聞いたのは アパッチウィンク と比較して、どのような違いがあるのだろうかと疑問に思っていました。 ジャージー や JBoss RESTEasy . 他の2つができないことで、1つにできることは何ですか?
私たちは、主にそのシンプルさのために、いくつかの内部プロジェクトに Jersey を使用してきました。しかし、乗り換えを検討するほど他の 2 つが優れている点がよくわかりません。 どなたか、これらの各々が満たすニッチのユースケースをご存知ですか?
どのように解決するのですか?
JAX-RSの実装
ジャージー
- リファレンス実装
- 通常、最先端を行く
- 真の非同期接続 (ウェブソケットなど) をサポートします。 雰囲気 または 2.0 バージョンを使用します。
- Springと標準的なインジェクションコンテナ(例えば@Inject)のサポートを持っています。
- Glassfishがそれをバンドルしています。
- 他のJAX-RSプロジェクトより、はるかにモジュール化されています。
- キックアスの URI ビルダー
- サーブレットコンテナは必ずしも必要ではありません。
- Grizzly サポート
- Netty のサポート (ごく初期)。
- Swagger のサポート
- OAuth 2.0がないようなものです。他のライブラリを使用する必要があります。
- MVC をサポートするために ビューアブル
- java.net でホストされています (サイトが時々ひどく遅いのでマイナスです)。
- ライセンスは、CCDL 1.1 と GPL-v2 に基づいています。商用利用する前に、ジャージーのライセンスを確認してください
https://jersey.github.io/license.html
レストイージー
- 上記の多くがそうですが、最も注目すべきはビューテクノロジーをサポートしていることです ( HTMLEasy )
- これは 非同期接続のサポート
- キャッシュのサポート
- EJB サポート (あなたがそのがらくたに興味があるなら)
- JBoss はそれをバンドルしています (と私は思います)。
- Netty サポート
- 間違いなく最高の Springとの統合 (MVCハンドラ) .
- 初期の Swagger サポート
- 以下を含むより多くのセキュリティ サポート OAuth 2.0 の早期サポート
Apache Wink <ストライク (使用したことはありません)
- なぜこのプロジェクトが存在するのか、まったくわかりません。
- おそらく、高性能に焦点を当てたものです。
- HttpUrlConnection の上に構築されたクライアントを持っています (これはマイナスです...これは Spring RestTemplate ).
- 基本的にWinkはいくつかのエンタープライズ企業で社内開発され、その後Apacheに譲渡されました。
- サーブレットコンテナが必要です。
リストレット
- 非常に強力だが、非常に複雑
- 低レベルの REST サポートをいくつか提供
- サーブレットコンテナを必要としない
Apache CXF
- いくつかの興味深い WADL サポート。
- JAX-RSとJAX-WSの再利用、または組み合わせ。
- セキュリティのサポート
- Spring との統合。
- クライアントスタブ自動生成機能
その他の RPC ライクなシステム
メッセージキュー
- RabbitMQ
- ActiveMQ
非同期RPC
- Finagle -- Twitterより。
- msgpack-rpc
私の率直な意見
OPがRESTを求めたのは知っていますが、もしこれが内部コミュニケーションのためなら、要件がそれらのシステムにマッチするなら、従来のRESTではなく、メッセージキューか他の非同期RPC(Finagle)の使用を真剣に検討してください。
もし古典的な HTTP REST (外部) でなければならないのであれば、私なら次のどちらかを選びます。 RestEasy または ジャージー この2つのプロジェクトにマインドシェアの大部分が注がれているためです。
こちらもご覧ください。 Java 用の Rest クライアント?
関連
-
[解決済み] htaccessファイルのRewriteOptions inheritは何をするのですか?[クローズド]
-
[解決済み] NameVirtualHost は効果がなく、次のリリースで削除される予定です。
-
[解決済み] java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient をインスタンス化できません。
-
[解決済み] eTagsの設定ミス[重複]について
-
[解決済み] .htaccess httpからhttpsへのリダイレクト
-
[解決済み] PHPのHTTP_HOSTとSERVER_NAMEの違いは何ですか?
-
[解決済み] Apache 2.2 で mod_rewrite を有効にする方法
-
[解決済み] JAX-RSとJerseyでRESTトークンベースの認証を実装する方法
-
[解決済み] JAX-RS / ジャージーエラー処理をカスタマイズする方法は?
-
[解決済み] apache の再起動時に "make_sock: could not bind to address [::]:443" と表示される (trac と mod_wsgi をインストールする)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SSLが許容最大長を超えるレコードを受信しました。(エラーコード:ssl_error_rx_record_too_long)
-
[解決済み] eTagsの設定ミス[重複]について
-
[解決済み】JavaのRESTクライアントはどのように作成しますか?[クローズド]。
-
[解決済み】apacheの非wwwからwwwへのリダイレクト
-
[解決済み] LinuxサーバーのApacheで使用するためにPFX証明書ファイルを変換するにはどうすればよいですか?
-
[解決済み] Vagrantのポートフォワーディングが機能しない [終了しました]。
-
[解決済み] Apacheです。jenkins のセットアップ時に ProxyRequests コマンドが不正になる
-
[解決済み] Windows起動時にWAMPが自動的に起動するようにする(ログオンやUACの干渉なし)
-
デフォルトのバーチャルホストで ServerName なしで HTTP を HTTPS にリダイレクトする
-
Spring Boot を使用して Dropbox フォルダにある静的コンテンツを提供するにはどうすればよいですか?