Jetty とは?

Jetty

Jetty最新情報

NRIのOpenStandiaが提供するJetty最新情報

Jettyの保守サポートサービスの内容はこちら Jettyの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Jettyバージョンアップ情報

■2015-12-14
[VerUP]Jetty 9.3.6(リリース日:2015/11/06)
■2015-12-14
[VerUP]Jetty 7.6.18(リリース日:2015/09/29)
■2015-12-14
[VerUP]Jetty 8.1.18(リリース日:2015/09/29)

すべてを見る

更新日:2021-06-21

Jettyの概要

Jetty (ジェティ)とは、100%Javaで開発されたHTTP(Web)サーバ兼Java Servletコンテナです。
一般的なHTTP(Web)サーバが、主にブラウザ等を介して利用者にHTMLなどを提供するのに対し、JettyはEclipseやApache Solrなどのソフトウェアの一部に組み込まれているほか、さまざまなデバイスにも組み込まれてマシン間通信機能を提供するためにも利用されています。

Jettyは完全非同期型WEBサーバ(クライアントからのリクエストに対して、待機が非同期で行われる)で、HTTP/2、WebSocket、OSGi、JMX、JNDI、JAASなど、その他多くの統合機能をサポートしています。

同様のJava ServletコンテナであるTomcatと比べると、起動が速い(メモリのフットプリントが小さい)、Jetty単独で静的コンテンツとサーブレットが提供できる、非同期HTTPサーバの特徴を活かして、短時間に大量のクライアントからの要求に応えることができるなどの利点があります。

TOPに戻る

Jettyの主な特徴

主な特徴は以下のとおりです。

100% Java
100%Javaで実装されたHTTPサーバ兼Java Servletコンテナです。
静的コンテンツだけでなく、Javaによる動的コンテンツを扱うことができます。
HTTPサーバとJava Servletコンテナを別々に用意する構成に比べ、ひとつのサーバとして構成できるので通信時のオーバーヘッドが少ないです。
軽量
ファイルサイズが約14MBの単一のJarファイルとして動作させるこ とが可能です。
起動が高速でメモリのフットプリントも小さいです。
また、単一のJarファイルであるため、さまざまなソフトウェアやEclipseなどの統合開発環境に組み込んで提供することができます。

高いスループット
非同期HTTPサーバや、HTTP/2の技術によって、大量のクライアント からの応答に耐え、高いスループットを実現することができます。
スケーラビリティ
非同期HTTPクライアントとしての機能も提供しており、非同期 HTTPサーバとして受信したリクエストを非同期HTTPクライアントとして再利用することで、スケーラブルにリクエストやレスポンスを処理することがで きます。
柔軟な拡張機構
プラガブル(各機能を必要に応じてOn/Offすることができる)な機 構を持っており、各機能を独自のプラグインとして拡張することができます。

TOPに戻る

Jettyの主な機能

主な機能は以下のとおりです。

Webサーバ機能
Apache HTTP Serverのように静的コンテンツを送信します。
SSL/TLS通信もサポートしています。

Java Serveletコンテナ
標準Javaサーブレットによる動的コンテンツの生成を行います。
JNDI対応
JNDI APIに対応しており、データソースやディレクトリサービスなどにJetty上で名前を設定しておき、プログラム上では設定した名前でオブジェクトを利用 することができます。
JMX対応
JMX APIに対応しており、JConsoleなどを利用してリモートからJettyの状態監視やJetty上で稼動しているアプリケーションの状態監視を行う ことが可能です。
OSGi対応
Apache FelixなどのOSGiコンテナにモジュールとしてバンドルさせて動作させることが可能です。
また、Jetty自身をOSGiコンテナとして動作させることも可能です。

非同期HTTPサーバ
クライアントからのリクエストに対し、サーブレットの処理完了を待たずにレスポンスを返すことができます。
非同期HTTPクライアント
Jetty自身から外部のサーバに向けて、HTTPリクエストを非同期に送受信することができます。
HTTP/2対応
RFC7540で定義されているHTTP/2プロトコルのクライアントとサーバの両方をサポートしています。
WebSocketサーバ
ブラウザとの双方向通信を実現するWebSocket規格のサーバとして動作します。

TOPに戻る

Jettyのユースケース

Jettyを利用している代表的なWebサービスやソフトェアには、次のようなものがあります。 Active MQ、Alfresco、Apache Solr、Eclipse、Equinox、Apache felix、Apache Geronimo、Google AppEngine、Apache Hadoop、MongoDB Management Service

TOPに戻る

Jettyの動作環境

前提となる動作環境は、以下のとおりです。

OS
  • Javaが動作するすべてのOS
Java
  • Java Runtime Environment(JRE)1.8以降
Version
Protocols
Servlet
Java
9.4.x
HTTP/1.1 (RFC 7230), HTTP/2 (RFC 7540), WebSocket (RFC 6455, JSR 356), FastCGI
3.1
8
10.0.x
HTTP/1.1 (RFC 7230), HTTP/2 (RFC 7540), WebSocket (RFC 6455, JSR 356), FastCGI
4.0.1
11
11.0.x
HTTP/1.1 (RFC 7230), HTTP/2 (RFC 7540), WebSocket (RFC 6455, JSR 356), FastCGI, JakartaEE
5.0.0
11
※Jetty 9.3 以前のバージョンはサポート終了または非推奨となっております。

TOPに戻る

Jettyのライセンス

Jettyのライセンスは、Apacheソフトウェア財団 (ASF) によって規定されたApache License Version 2.0およびEclipse Foundationによって規定されたEclipse Public License1.0のデュアルライセンスを採用しています。
Apache License Version 2.0のライセンスに従い、著作権の表示などの条件に従うことで、商用利用、修正、再頒布などが自由に行えます。
Eclipse Public License1.0 のライセンスに従い、商用利用、再配布が自由に行えます。修正した場合に限り、ソースコードの入手方法を示す義務が生じます。

TOPに戻る

Jettyと同類のソフトウェア

OSS製品ではApache Tomcatが同様の機能を提供しています。

TOPに戻る

参考情報

Jetty ダウンロードページ

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO