SpringBoot2.x系で非同期メッセージングを使ったチャットアプリケーションの作例
内容:
- 2018-12 : Spring MVC で SseEmitter を使った Server-Sent Events のサンプルを作成。
- 2019-03 : Spring MVC で WebSocket API を使ったデモを作成。HTTPS有効化のデモ用設定ファイル/キーストア追加。
- 2018-12時点でJava8で動作確認しています。
- AdoptOpenJDK 8 (jdk8u192-b12)
- Spring Tools 4 for Eclipse (Eclipse IDE 2018-12 R, 4.10系)
- Maven >= 3.5.4 (maven-wrapperにて自動的にDLしてくれる)
- ソースコードやテキストファイル全般の文字コードはUTF-8を使用
jarファイルをビルドして実行し、 http://localhost:18088/ にアクセスしてください。
cd springboot2-async-chat-demo/
ビルド:
./mvnw package
jarファイルから実行:
java -jar target/springboot2-async-chat-demo-v201903.26.1.jar
https(自己署名証明書)を有効にして https://localhost:18089/ で起動するには:
java -jar target/springboot2-async-chat-demo-v201903.26.1.jar --spring.config.location=application-https.properties
※ keystore.p12
は AdoptOpenJDK8 の keytool
で以下のように生成しています。
keytool -genkeypair -keyalg RSA -dname "CN=test0, OU=ou0, O=org0, L=loc0, S=s0, C=JP" -alias self-signed-cert-t0 -keypass changeit -keystore keystore.p12 -storepass changeit -storetype PKCS12 -validity 3600
2018-12時点で以下のブラウザで動作確認しています。
- PC版 Chrome 71
- PC版 Firefox 64
https://github.com/SecureSkyTechnology/howto-eclipse-setup の setup-type2
を使用。README.mdで以下を参照のこと:
- Clean Up/Formatter 設定
- GitでcloneしたMavenプロジェクトのインポート
また、Spring Tools 4 for Eclipse に Lombok をインストールしてください : https://projectlombok.org/