Spring Boot 2.3 の Liveness & Readiness Probes 対応 について調べてみた / Spring Boot 2.3 Liveness & Readiness Probes
Amazon Web Services ブログ New – Lambda SnapStart で Lambda 関数を高速化 お客様が AWS Lambda を気に入っている理由はさまざまです。開発面では、シンプルなプログラミングモデルと、その機能が他の AWS サービスを簡単に利用できることが高く評価されています。運用面では、変化する使用パターンに迅速に対応できる強力なアプリケーションを構築できるというメリットがあります。 すでに Lambda を使用している方ならご存知かもしれませんが、関数は安全で隔離された実行環境内で実行されます。環境の各ライフサイクルは、初期化、起動、シャットダウンの 3 つの主要フェーズで構成されています。とりわけ、 Init フェーズは関数のランタイムをブートストラップし、関数の静的コードを実行します。多くの場合、これらの操作はミリ秒以内に完了し、フェーズがそ
Copyright © 2005 - 2024 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. Terms of Use • Privacy • Trademark Guidelines • Your California Privacy Rights Apache®, Apache Tomcat®, Apache Kafka®, Apache Cassandra™, and Apache Geode™ are trademarks or registered trademarks of the Apache Software Foundation in the United States and/or other countries. J
原文(投稿日:2019/12/23)はこちら こんにちは、LINE FukuokaでサーバーサイドエンジニアをやっているTeodorです。 11月にLINE Shopチーム(スタンプショップ、着せかえショップ、LINE STOREを開発)の他の3人のメンバーと一緒に、ベルギーのアントワープで開催されたDevoxx Belgium 2019に参加してきました。アントワープはDevoxx発祥の地で、ベルギー最大の都市でもあります。 Devoxx は2001年に始まった開発者コミュニティによるカンファレンスで、あっという間にベンダー非依存としては世界最大規模のJavaカンファレンスに成長しました。 最近では、Devoxxはフランス、イギリス、ポーランド、ウクライナ、モロッコでも開催されています。 Deboxx Belgiumはヨーロッパで最大規模の映画館「Kinepolis」で開催されます。登壇
[非推奨]Javaの基礎を学び終えたアナタに贈る, SpringBoot/SpringSecurityによる掲示板開発ハンズオン ※既にSpringBoot3が公開され、SpringBoot2の本著は内容が古くなっております。今あえてこの本で学ぶ価値は当初と比べ薄いと思われますので非推奨とさせてください。閲覧頂きありがとうございます。 Javaの基礎(スッキリわかるJava入門3版: https://amzn.to/3beksct 第Ⅱ部まで相当を想定)を学び終えたけど、(Javaで)Webアプリケーションを作るためにどこから手を付けていいのかわからない。そんな方に向けて参考になれば、と書きました。 触れる技術や概念は下記になります。 OSS: SpringBoot2系, SpringSecurity, Java11, MyBatis, Maven, Thymeleaf, H2DB 概念:
タイトルがあれですみません。同時実行性能を求められる要件があり、Web MVC と WebFlux のパフォーマンスを比較しました。WebFlux は Web MVC と同じように Vue.js や Thymeleaf などを使用した画面や、REST API で使用でき、Reactor の継続渡しスタイル (CPS) と関数型プログラミングにより、非同期でノンブロッキングな処理を実現し、少ないスレッドでの並行処理と少ないハードウェアリソースでスケールが可能な Web スタックです。 結果 計測内容: 1 万リクエストし、全レスポンスが完了するまでの時間 結果評価: サーバ処理時間によらず、WebFlux のほうが 2 倍くらい速い (注意: 単発性能ではない。単発ではわずかに遅くなる可能性もある。) サーバ側 1 回の処理時間に 50 ミリ秒かかる場合で、WebFlux 1 万リクエスト全
◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました 生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!! https://tech-lab.connpass.com/event/315703/ こんにちは、Visual Studio Codeを愛してやまないサイオステクノロジー技術部 武井(Twitter:@noriyukitakei)です。今回は、Tomcat上のWebアプリケーションをVisual St
SpringFramework 6.0.11 SpringBoot 3.1.2 @Async と @EnableAsync の使い方 SpringFrameworkで @Async を使うとかんたんにメソッドを非同期で実行できます。 @Component class AsyncComponent { @Async void method() { // 時間のかかる処理 } } 使う側は単にメソッドを呼び出すだけです。戻り値を処理したいなら Future で受ければいいけど、投げっばでいいなら void で良い。投げっばでいい場合の方が多いはず。 @Async を使うためにはアノテーションを処理する何かしらが必要で、この一式を用意するように指示するのが @EnableAsync です。 以下のようなクラスをSpringがわかるところに置いてあげます。 @EnableAsync @Config
こんにちは、ソリューション開発部の柴崎です。 前回、以下の記事で Java 11 の jdeps/jlink を使い、Spring Boot ウェブアプリケーションを動かすための最小構成の Java 実行環境の作成に挑戦しました。一応の解決をみせましたが、--print-module-deps オプションを指定するとエラーになっている部分を深堀りできていませんでした。今回の記事でさらなる解決を目指してみます。 まとめJDK 内部 API は使わない。自分たちのコードだけでなく依存するライブラリにも気をつける。特に JDK 内部 API で削除されたクラス (JDK removed internal API) に依存するライブラリがないか要確認。 JDK 内部 API で削除されたクラス (JDK removed internal API) を参照していると、jdeps の --print-
この記事は、Quarkus.io のブログ記事、Quarkus for Spring Developers の翻訳記事です。 Quarkus 1.0の登場により、LinuxコンテナネイティブおよびkubernetesネイティブのJavaマイクロサービスを開発するための革新的なプラットフォームがもたらされました。開発者は通常、新しい革新的なランタイム・フレームワークを評価する際に、既存の知識を脇に置いておく必要があります。Quarkusが他と異なるのは、Java技術に広く深く専門知識を持つエンジニア達によって作成されたことです。これにはSpring APIの互換性も含まれており、Red Hat RuntimesにSpring Bootのサポートを提供したエンジニアによってQuarkusにもたらされました。 私はSpringの開発者です。なぜQuarkus? 一般にコンテナ化と特にKubern
2021年11月2日:ウェビナーアーカイブ配信中! 「Springフレームワーク徹底解説 〜初心者から上級者向けセッションと事例のご紹介」 ダウンロード:「2021年 Springの現状」資料 ダウンロード:「2020年 Springの現状」資料 【前編】Spring Bootってなにがいいの←本記事です 【後編】Spring Bootで始めるマイクロサービスの開発 はじめに はじめまして。VMwareの伊藤です。Tanzu製品のプラットフォームアーキテクトとして働いています。 開発と運用双方の経験がありますが、だいぶインフラ寄りの経歴となります。 プライベートでは書籍を執筆するほどPythonを利用しているのですが、仕事ではJavaとSpringBootを使う機会が増えてきましたのでSpringBootの紹介をしたいと思います。 なお、久しぶりのJavaとなりますので、Spring Bo
Getting Started Introduction¶ The DGS framework makes it easy to create GraphQL services with Spring Boot. The framework provides an easy-to-use annotation based programming model, and all the advanced features needed to build and run GraphQL services at scale. The DGS framework is primarily maintained by Netflix, surrounded by an active community. At Netflix we build our GraphQL architecture on t
0.SpringBoot環境構築 0-1 STSのインストール 0-2 STSの日本語化 1.はじめてのSpringBoot 1-1 HelloWorld! 2.MVCに基づくプログラム作成 2-1 MVCについて 2-2 コントローラの作成 2-3 ビューの処理(HTMLの表示) 2-4 コントローラとビューの連携 2-5 コントローラとビューの連携(ModelAndView) 2-6 ビューからのデータ入力 3.データベースを操作するプログラム作成 3-1 データベース用のプロジェクトの作成 3-2 エンティティクラスの作成 3-3 リポジトリの作成 3-4 コントローラの作成 3-5 ビューの作成 3-6 実行 4.住所録の作成 4-1 住所録の構成 4-2 プロジェクトの作成 4-3 エンティティクラスの作成 4-4 リポジトリの作成 4-5 コントローラの作成 4-6 ビューの作
まずは結論から SpringのDIコンテナに管理してもらいたいクラスが、自分で作成しているクラスなのか、それとも外部のライブラリ(サードパーティのライブラリ)のクラスなのかによって、@Componentを使うか@Beanを使うか変わる。 @Componentとは @Compnentは、Spring BootでWebのMVCアプリを作成するときに使用する@Controller, @Service, @Repositoryと同様に、SpringのDIコンテナに管理させて@AutowireなどでDIできるようにしたいクラスにつける。 @Controller等はMVCの文脈上で特化したクラスにつけられるのに対して、@Componentはそれら以外の特化していないクラス全般に付与するだけで、基本的には同じ。 @Beanとは @Beanも同様にSpringのDIコンテナに管理させたいものにつける点は同
以下のソフトウェアをインストールしてください。 Java 11 docker pack curl jq この資料は次のバージョンで動作確認しています。 $ java -version openjdk version "11.0.10" 2021-01-19 LTS OpenJDK Runtime Environment (build 11.0.10+9-LTS) OpenJDK 64-Bit Server VM (build 11.0.10+9-LTS, mixed mode) $ docker version Client: Docker Engine - Community Cloud integration: 1.0.9 Version: 20.10.5 API version: 1.41 Go version: go1.13.15 Git commit: 55c4c88 Built
Spring boot (with spring-boot-devtools) + Docker でリモートデバッグ環境を整えるgradleDockerSpringBootVisualStudioCode 2020年12月末追記 VSCodeのRemote Developtmentっていうextensionを知って、もうローカルで作業する必要ないじゃん(この記事の内容自分で使わなさそう)、、、となったので一応追記。 やりたかったこと spring bootアプリをdockerで起動してローカルで開発環境を整える。 公式ドキュメントに従って実行自体はすぐできたが、この方法だとspring-dev-toolsが使えなかった1。 以下の構成にしてマウントしてファイル更新の反映を楽にしたかった。コンテナログインとかsshなしで反映作業をホストで完結させたかった。 以下を行った。 コンテナとホストの
2019-12-18の Spring Fest '19 で登壇させてもらいました。みなさまありがとうございました。 資料 Springアプリケーションのテスト道具 使いどころ、使わないどころ です。タイトルの「使わないどころ」って日本語的に不自由な感じなんですが、「使うべきでない」とか禁止ではなく、プログラマとして「使わない」と意思を込めてる感を出したくてこうなっています。いい名前が思いつかないので変な名前をつけて、結局最後までいい名前が思いつかなかったパターンです。 なおこのセッションは、2019-07-18にこのブログで書いたどこでモックを使おうかを下敷きにしたものです。 補足もしくは蛇足 49-52ページ: テストで動かせる範囲とモックの例です。例なのでテストしたい対象見極めたら何とでもなると言うのと、それができるアーキテクチャが役立つよねと言う感じ。この一連の図は機能面で、ここで話
こんにちは、CX事業本部のうらわです。 今回はバックエンドはSpring Boot、フロントエンドはReact(SPA)のWebアプリケーションをAWS CDK(以下、CDK)でAmazon ECSデプロイしてみました。フロントエンドはS3/Cloud Frontで配信するのではなく、Spring Bootの一部としてデプロイします。 本記事ではSpring BootやReactで実装するアプリ自体のコードの説明は重要な点のみです。全てのコード例は以下のGitHubを参照ください。 urawa72/spring-boot-react-app 作業環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.15.7 BuildVersion: 19H15 $ java --version openjdk 11.0.11 2021-04-20 O
© VMware, Inc. or its affiliates. Terms of Use • Privacy • Trademark Guidelines • Thank you • Your California Privacy Rights Apache®, Apache Tomcat®, Apache Kafka®, Apache Cassandra™, and Apache Geode™ are trademarks or registered trademarks of the Apache Software Foundation in the United States and/or other countries. Java™, Java™ SE, Java™ EE, and OpenJDK™ are trademarks of Oracle and/or its aff
はじめに 今回は、Spring Web Applicationで使用するFilterとInterceptorについて、紹介したいと思います。 実行時 一般的な内容 FilterとInterceptorは、実行される時点が異なる。 FilterはWeb Applicationに登録して、InterceptorはSpringのContextに登録する。 追加で紹介したい内容 Tomcatの場合、deployment descriptor(/WEB-INF/web.xml)に使用するFilterを登録します。そのため、アプリケーション全体に影響を与える作業はFilterにする、という意見があります。しかし実際はそうではありません。FilterもInterceptorもすべての要求に対する前後処理の役割を遂行します。またuriベースで、いつ実行するか調整可能で、直接requestの内容を把握し、希
import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication @SpringBootApplication class MyApplication fun main(args: Array<String>) { runApplication<MyApplication>(*args) } . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / /
この記事は Google Cloud Japan Customer Engineer Advent Calendar 2020 の 21日目の記事です。 みなさん、こんにちは、Google Cloud の柳原 (@yanashin18618)です。 2020 年の今年は Java が公開されてから 25 周年というアニバーサリー・イヤーで盛り上がりを見せた年でした。Java に馴染みのない人も 今年は Java というキーワードを目にしたりしたのではないでしょうか。 私はと言えば、日夜 Google Cloud 上で Java アプリケーションをどう組み上げていくかと想いを馳せた1年でした。 TL;DRこれから Google Cloud 上で Java アプリケーションを作っていこうとしている方のために参考になるような話を綴っていきます。 特に開発フレームワークの Spring が提供して
米Springは、Java 17およびJakarta EE 9のハイエンドベースラインに向けて、「Spring Framework 6」および「Spring Boot 3」の2022年第4四半期の一般提供を計画していることを、9月1日(現地時間)に開催された「SpringOne」にて発表した。 「Spring Framework 6」および「Spring Boot 3」ベースのアプリケーションには、実行時にJDK 17以降とTomcat 10/Jetty 11が必要であり、アプリケーションのソースコードにいくつかの変更が必要となる場合がある。 同社は、並行して「Spring Framework 5.3.x」と「Spring Boot 2.x」の開発も活発に行っており、「Spring Boot 2.6」は11月、「Spring Boot 2.7」は2022年5月にリリースされる。なお、「Sp
最新の6.0で学ぶ! 初めてのひとのための Spring Security (株)クレディセゾン 多田真敏 2022年6月28日(2023年1月改訂) JSUG勉強会 1 このセッションについて ▸ Spring Securityの最新情報に基づいて、 基礎から丁寧に解説します ▸ 対象者 ▸ [必須] この資料レベルのSpringのDIコンテナ・Spring MVC ・Spring JDBC・Spring Bootの知識がある方 ▸ Spring Securityを使うのが初めての方 or Spring Securityを使ったことはあるけど知識をアップデートしたい方 ▸ 以下はスコープ外とします ▸ OAuth、OpenID Connect、SAML、Kotlin、WebFlux 2 https://www.docswell.com/s/MasatoshiTada/5Q4EMZ-spr
はじめに ブラウザゲームやソシャゲでは、ローカルの端末で遊んで操作結果をサーバに送信します。 このとき、サーバに単にクリアしたなどのゲーム結果を送るとチートし放題となってしまいますので、暗号化だったり逐一通信することでそれを防ぎます。 ですが、これはチートとのいたちごっこになったり、逐一通信することでユーザの体感速度が著しく落ちます。 そこで「ローカルで動かしたゲームの操作だけ送るが、ゲームのアルゴリズムをサーバと共通にし、サーバ側で再現することでデータの不整合を防ぐ」ことを考えてみます。 ソースはここに置いておきます まずは Kotlin + LibGDX でゲームを作る まずゲームを作ります。できました。 ゲームは何度も使ってるファイアーエムブレムのクローンです。(クローンと言ってもSDキャラのアニメとか作ってないので動かして戦闘ができるだけですが。) 環境はたまたまKotlinを勉強
はじめに Spring Boot + Spring Security を利用して OAuth 2.0 の Token Introspection を利用した Resource Server を構成してみます。 環境 Java: openjdk 11.0.6 2020-01-14 LTS SpringBoot: 2.3.1.RELEASE SpringSecurity: 5.3.3.RELEASE 目的 「Spring Bootで単純なWebアプリケーションを作成し、/health エンドポイント以外すべて TokenIntrospection による AccessToken のチェックを入れて保護する」ことが目的です。それのための最小構成です。 SpringSecurity Current Reference Spring Bootアプリケーションを構成 ごくありふれたサンプルを作成します
Spring Security は割となんとなくで動作してくれるイメージだけど、カスタマイズしようとするとハマったりするので、アーキテクチャを知れば何とか分かるようになるのではないかという発想から調べてまとめてみた。 以下のようなフォーム認証を行うシナリオに沿って、どのようなクラスがどのような役割を担っているのかを調べる。 未認証の状態で認証が必要なページへアクセスする ログイン画面にリダイレクトされる 情報を入力しログイン処理を実行する ログインが完了し 1でアクセスしていた画面にリダイレクトされる なお、バージョンは 5.2.1.RELEASE で確認している。 ログイン画面へリダイレクトされるまで 認証が必要なページに対してまだ認証されていないユーザがアクセスした場合、ログイン画面へ飛ばされる仕組みについて。 ざっくりとしたフローは以下の通り。なお、今回はアクセスした際のチェック処理
はじめに ブランドソリューション開発部プロダクト開発チームの木目沢です。 Fulfillment by ZOZO(以下、FBZ)で提供しているAPIの開発に携わっています。以前「FBZにおけるドメイン駆動設計(DDD)とサーバーレスアーキテクチャを組み合わせた設計戦術」という記事を公開しました。そこでは、AWS Lambdaを中心としたサーバーレスアーキテクチャを採用していること、ドメイン駆動設計でAWSのサービス処理とビジネス処理を分離していることをご紹介しました。 FBZはリリース前の設定時にはJavaも検討していました。しかし、結果として採用を見送ることにしました。その理由とリリースから4年が経過した今、改めてJavaに関して調査した結果を本記事ではご紹介します。 JavaではなくPythonを選択した理由 FBZの設計をしていた当時、Lambdaで使用可能な言語は、Node.js、
はじめに 今回はSpring5から追加されたSpring WebFluxについて簡単に説明します 今回のゴールはWebFluxの概念的なところを理解して、Hello Worldするところまでとします RequestParameterとかRequestBodyとかについては別記事でまとめます(多分...) 背景 1年くらい前からWebFluxの存在は知っていた(Spring Fest2018あたりで谷本さんの話は聞きました) ただ、必要に迫られることがなかったので特に勉強してなかった しかし、今回APIをWebFluxで実装することになり、ちゃんと勉強しようと思った次第です WebFluxとは? 2017年8月に一般リリースされたSpring5から追加された機能 Spring5の最大の特徴となっているのが、リアクティブ・プログラミング・モデル 非同期であり、ノンブロッキング型であること 少な
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く