Java
Akka
Akka-HTTP

JavaからAkkaハンズオンの準備手順

JavaからAkkaを触ってみるハンズオンの準備手順です。

準備の流れ

  1. 必要なソフトウェアのインストール(JDK/Maven/IntelliJ IDEA/HTTPie)
  2. ソースコードの取得
  3. テストの実行
  4. サーバーの起動
  5. APIの動作確認
  6. IntelliJ IDEAへのソースコードの取り込み

1.必要なソフトウェアのインストール

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)を指定
    image.png
  • Import project from external model ではMavenを指定
    image.png
  • 流れに従って進めFinishをクリックするとプロジェクトのインポート開始
  • こんなかんじに見れれば取り込み成功!!
    image.png

以上で準備完了です。おつかれさまでした。

追記

ハンズオンは「handson」ブランチで実施しました。

ブランチの切り替え
git checkout handson