はじめに どうも@chan_kakuです 今回はSpringBoot1.5系が今年の8月でEOLになってしまうということでその対応をしてみて、苦労した点などを述べていきたいと思います。 SpringBootについて SpringBootとはSpringフレームワークをベースとしたアプリケーションを簡単に作成することができるフレームワークのことです。 詳しくは公式ドキュメントをみてください。 行なったこと(概要) Gradle3系 → Gradle5系 SpringBoot1.5系 → SpringBoot2.1系 その他依存ライブラリのバージョンアップ Gradle3系 → Gradle5系 SpringBoot2系にあげるにはまず、Gradleのバージョンを4.4以上にあげないといけなかったため、こちらから取り組みました 今回対象となったプロジェクトはGradleWrapperを利用して
java -jar を使用して Spring Boot アプリケーションを実行することに加えて、Unix システム用の完全に実行可能なアプリケーションを作成することもできます。完全に実行可能な jar は、他の実行可能なバイナリと同様に実行することも、init.d または systemd に登録することもできます。これにより、一般的な運用環境での Spring Boot アプリケーションのインストールと管理が非常に簡単になります。 完全に実行可能な jar は、ファイルの先頭に追加のスクリプトを埋め込むことで機能します。現在、一部のツールはこの形式を受け入れないため、常にこの手法を使用できるとは限りません。例: jar -xf は、完全に実行可能にされた jar または war の抽出に確認なしで失敗する場合があります。jar または war を完全に実行可能にするのは、java -jar
概要 Fully Executable Jarの作成 confファイルの作成 サービス登録 1. Fully Executable Jarの作成 Fully Executable Jarという形式のJarにするとJarの先頭にスクリプトをつけて出力してくれる。 このスクリプトがそのままサービス起動用のスクリプトとして使用できる。 作成の仕方は、pom.xmlの<build>タグの中身を次のようにする <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </pl
やりたいこと 一般的にSpring Bootのapplication.properties周りの構成は以下のような感じになっている。 この構成でSpring Boot起動時に環境毎にapplication.propertiesを切り替えてみる。なお、設定方法は複数あるためここでは4つ紹介する。 1. 起動引数にプロファイルを設定 起動引数へ設定する方法は以下の2種類が存在する。 1. Command line arguments(コマンドライン引数) java -jar spring-boot-application-properties-sample-1.0.0.jar --spring.profiles.active=dev1
弊社では食品の検索に対してXMLで結果を返すRESTfulのAPIを運営しているのですが、今回、機能追加やJSONでの返却を可能にするバージョンアップを計画しています。 今まではJSP+Servletでの実装だったんですが、今回はSpring Bootで実装してみました。 Spring BootではFully Executable JARで簡単にサービス稼働環境を作ることができたので、ここで紹介します。 Fully Executable JARとは Spring Bootでは、作成したJARファイルをjava -jarで起動することができますが、UNIX環境でより簡単に起動することができる仕組みです。 詳しくは Spring Boot Reference Guide をどうぞ。 JARファイルの作成 APIのプロジェクトはmavenで構成管理をしているのですが、mavenのpluginで簡
基本的にspringドキュメントの内容です。 動作させているOSはCentOSです。他のOSの場合はコマンドが若干違うので読み替えてください。 設定spring bootアプリであればなんでもOKなので以前作ったアプリを適当に選んで設定する。 設定はspring boot pluginのexecutableをtrueにするだけ。 mavenを使っている場合はpom.xmlに以下を記述。 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin>
spring boot にはデフォルトでロギング機構が付いている。spring-boot-starter-web の依存に spring-boot-starter-logging 入ってるので、web 有効にしてたら自動でロギング機構も依存に入っている。デフォルトのバックエンドは logback である。 パッケージごとの loglevel の設定は application.yml で出来る。 logging.level.org.springframework.web.servlet.PageNotFound: ERROR しかし、例えば logback の appender を追加したいなどの場合、もはや logback.xml を設定するしかない。XML で記述するのは苦行だが、耐え忍ぶしかない。(XML ではなく groovy でも設定できるが、groovy の方が情報量が少なく、辛
Spring Boot の実行可能 jar は、ほとんどの一般的なクラウド PaaS(Platform-as-a-Service)プロバイダー向けに用意されています。これらのプロバイダーは、「独自のコンテナーを持ち込む」ことを要求する傾向があります。アプリケーションプロセス(特に Java アプリケーションではない)を管理するため、実行中のプロセスのクラウドの概念にアプリケーションを適合させる中間層が必要です。 2 つの人気のあるクラウドプロバイダーである Heroku と Cloud Foundry は、"buildpack" アプローチを採用しています。buildpack は、デプロイされたコードを、アプリケーションの起動に必要なものにラップします。これは、JDK と、java、組み込み Web サーバー、本格的なアプリケーションサーバーへの呼び出しである可能性があります。buildp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く