herokuでjava
herokuでjavaを使ってみました。
以下のWeb Framework Benchmarks
というページでjavaのservletがなかなかいい数字出していたので、今運用しているrailsの処理で重い処理をjavaで書きなおしてみようというモチベーションです。
http://www.techempower.com/benchmarks/#section=data-r10&hw=peak&test=query
導入方法
手順1:Introduction
まず、herokuのjavaの導入ページに行きます。
https://devcenter.heroku.com/articles/getting-started-with-java#introduction
- 最初に、heorku accountの作成(これは当たり前ですが必要です)
- javaのjdkのインストール(これも当然)
- mavenのversion3をインストール(Gradleが良かったんですが指定があるのでMavenにしました)
Herokuのヘルプページがいつのまにかわかりやすくなっていて、数ステップの手順をいくつか組み合わせた、説明になっていて、うまくいったら、「紫」ボタン、うまくいかなかったら「白抜き」のボタンを押すという流れになっています。
とりあえず、手順1は特に説明することはないです。
手順2:Set up
herokuのToolbeltというツールをPCにインストールします。
その後、herokuコマンドでherokuにログインします。
手順3:Prepare the app
ローカルマシンの適当なディレクトリ(一応作業用のファイルを置いてもよさそうなところ)に移動して、git clone
コマンドで、元ネタになるプロジェクトを落としてきます。
gitが入っていなかったら入れましょう。
このプロジェクトのひな形にはある程度サンプルが実装されているので最初に取っ付くのには便利です。
手順4:Deploy the app
手順3で落としてきたサンプルをすぐにherokuにデプロイします。
heroku create
コマンドでherokuにアプリ登録して、git push heroku master
でアプリケーションがデプロイされます。
この時点でサンプルのソースを見ていないので若干不安になると思いますがご安心ください。
herokuに既にアプリケーションをいくつか登録している人は、上限数に達しているというエラーになるかもしれませんが、その場合は不要なアプリケーションを消すと登録できるようになります。
heroku ps:scale
コマンドは念のためやっておきました。
heroku open
でブラウザが自動で立ち上がってhello
っぽいメッセージが表示されます。
この後の手順
View logs, Define a Procfile, Scale the app, Declare app dependenciesについてはなんとなく読んでおけばOKだと思います。ちょっとProcfileについてはサンプル以外の方法で起動させてようとした場合は修正が必要そうですが、今回は単純なサーブレットを実装したいので試していません。
今後の作業
次は、IntelliJでMainクラスを動かすやり方と、Mysql(実際はMariaDB)に接続してみたいと思います。