スキップしてメイン コンテンツに移動

Server Adaptorを使ってSpringsource tool suiteにJettyサーバを追加&その起 動スピードについて

Springsource tool suite(以下STS)上でTomcatサーバを起動させてWebアプリケーションの動作確認をしていると、とにかく起動が遅い(´ヘ`;) Jettyだったら一瞬で起動するのに。。

というわけで、STSにJettyを入れて起動させてみたいと思います。

まず、Jettyが必要になるわけですが、現時点で公開されているServer AdaptorがJettyバージョン6でないとダメのようで。。

・Downloading Jetty - Jetty - Codehaus
http://irc.codehaus.org/display/JETTY/Downloading+Jetty

WS000350

6で最新のjetty-6.1.26.zipをダウンロードします。ダウンロードが完了したら任意のディレクトリへ解凍しておきます。

次に、STSのServersビュー上で右クリック →  New → Server

ws000347

デフォルトではJettyのServer Adaptorは入っていないので、右上の「Download additional server Adaptors」リンクで追加します。

WS000349

そうすると、ダウンロード可能なServer Adaptorを探してくれるようですが、これが長い。。止まってんじゃないの?ってくらい長いですが、気長に待ってれば「Jetty Generic Server Adaptor」が表示されます。

WS000344

これを選択してNextボタンを押下するとダウンロードしてリスタートを要求されたはず。。。STSの再起動が終わると、再びServersビューより右クリック → New → Serverと選択します。今度は、「Jetty 6」というのが表示されているので、

WS000351

選択して、Nextボタンを押下します。

WS000353

Jetty Homeの場所を求められるので、パスをきってもいいですが、今回はBrowseボタンでディレクトリを設定しました。start.jarが入ってるディレクトリを選択します。でNextボタンを押下します。

WS000354

次の設定はデフォルトのもので良いので、Nextボタンを押下します。

WS000355

該当のプロジェクトを「Add >」 ボタンで追加してFinishボタンを押下します。そうすると、Serversビューに追加されます。
Serversビューのサーバースタートボタンを押して、Jettyを起動してみると。。

あれ!?起動が全然早くない(´o`;)


実際にどれくらいスピードが違うかというと、ざっくり計ってみました。左手にAndroidアプリのストップウォッチを表示させ、右手にServerスタートボタンに照準を合わせたマウスを持ち、同時に押し、Webアプリケーションがブラウザで表示できるようになった所でストップウォッチ止めました。

サーバ名 時間
Jetty 6 約25秒
Tomcat V7.0.22(直接DLしたもの) 約11秒
VMware vFabric tc Server Developer Edition (Runtime) v2.6 約11秒


Adapterで使うJetty全然遅いじゃないか。。せっかく入れたサーバですが、デバッグに使うにはちょっと厳しいですね。ちなみに、バージョンは違いますが、Eclipse IDE for Java Developersの環境に構築している埋め込みのJetty 8サーバは3秒で起動します(;-∀-) 埋め込んで使えって事ですね。。

一応、我が非力なPCのスペックは、

  • CPU:Celeron E3400 2.6GHz
  • メモリ:8GB
  • OS:Win7
  • 補助記憶装置:HDD 3.5inch 1TB 32MB 7200rpm
CPUをグレードアップさせ、補助記憶装置をSSDにすればスピードにストレスを感じなくなるでしょう。。結論はTomcatままで良かったということで。

メモ:CPU,内蔵型SSD

コメント

このブログの人気の投稿

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseで一通り基本的なGitを使ってみる

備忘録的にまとめておきたいと思います。おかしな点があればご指摘いただければ幸いです。 目次 環境 プロジェクト作成~初コミットまで コミットの履歴&差分を見る 元に戻す ブランチについて ブランチを作成してみる ブランチを統合するには マージする Rebaseする ローカルリポジトリからプロジェクトを取り込む コミットしたメッセージの修正 環境 Eclipse IDE for Java Developers:Juno Service Release 1 Git:上記Eclipseのプリインストール版

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }