JavaからAkkaを触ってみるハンズオンの準備手順です。
準備の流れ
- 必要なソフトウェアのインストール(JDK/Maven/IntelliJ IDEA/HTTPie)
- ソースコードの取得
- テストの実行
- サーバーの起動
- APIの動作確認
- IntelliJ IDEAへのソースコードの取り込み
1.必要なソフトウェアのインストール
- JDK8
- JDK8以上で動くと思いますが、動作確認済の環境は8のみ(Oracle JDK)
- (任意)Maven
- ダウンロード/[インストール(https://maven.apache.org/install.html)
- ※Maven Wrapperを入れたので「./mvnw」「mvn」をできます。
- (任意)IntelliJ IDEA か他のIDE
- IntelliJ IDEAの場合はCommunity版でOK
- (任意)HTTPリクエスト送信ツール何か
- CLI: HTTPie
- GUI: Advanced REST client
- ...など
2.ソースコードの取得
git clone git@github.com:yugolf/akka-in-action-java.git
3.テストの実行
- 取得したソースコードの
akka-in-action-java/chapter-up-and-running
ディレクトリで実行
テストの実行
mvn test
実行結果
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< com:goticks-java >--------------------------
[INFO] Building goticks-java 1.0
[INFO] --------------------------------[ jar ]---------------------------------
(省略)
Results :
Tests run: 14, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.740 s
[INFO] Finished at: 2018-12-08T23:19:20+09:00
[INFO] ------------------------------------------------------------------------
4.サーバーの起動
- 取得したソースコードの
akka-in-action-java/chapter-up-and-running
ディレクトリで実行- 動作確認後、Enterで終了
サーバーの起動
mvn compile exec:exec
5.APIの動作確認
- 2つのHTTPリクエストを送信し次のようなレスポンスが得られればOK(HTTPieを使用した場合の例)
(1)イベントの作成
HTTPリクエスト
http POST localhost:5000/events/JJUG/ tickets:=5
HTTPレスポンス
HTTP/1.1 201 Created
Content-Length: 27
Content-Type: application/json
Date: Sat, 08 Dec 2018 14:36:29 GMT
Server: GoTicks.com REST API
{
"name": "JJUG",
"tickets": 5
}
(2)イベント一覧の取得
HTTPリクエスト(イベント一覧)
http GET localhost:5000/events/
実行結果
HTTP/1.1 200 OK
Content-Length: 40
Content-Type: application/json
Date: Sat, 08 Dec 2018 14:37:24 GMT
Server: GoTicks.com REST API
{
"events": [
{
"name": "JJUG",
"tickets": 5
}
]
}
6.IntelliJ IDEAへのソースコード取り込み
-
Project from Existing Sources...
よりGitHubからクローンしたディレクトリ(akka-in-action-java/chapter-up-and-running
)を指定
-
Import project from external model
ではMavenを指定
- 流れに従って進め
Finish
をクリックするとプロジェクトのインポート開始 - こんなかんじに見れれば取り込み成功!!
以上で準備完了です。おつかれさまでした。
#追記
ハンズオンは「handson」ブランチで実施しました。
ブランチの切り替え
git checkout handson