spring-boot
Spring Boot 2.5からGradleでビルドすると *.jar と *-plain.jar の2つが生成されるようになったので、これらについてのメモ。 Demo Spring InitializrからGradle Projectを選択してプロジェクトを作成する。(ArtifactなどのProject Metadataはデフォルト…
Spring Boot 2.4 (Spring Framework 5.3) から追加されたFlightRecorderApplicationStartupを試したときのメモ。 追記 このバグがあるので、Spring Boot 2.4.7 (Spring Framework 5.3.8) 以降を使ったほうがいい。 https://github.com/spring-projects/sprin…
Spring Boot 2.4からRedis Cacheのmetricsが収集できるようになったので試してみた。 ソースコード build.gradle plugins { id 'org.springframework.boot' version '2.4.1' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java' } gro…
JUnit5の環境でSpockを使いたいときのメモ。 追記 Spock 2.0からはJUnit5で動作するので、JUnit4の設定は不要。 https://spockframework.org/spock/docs/2.0/release_notes.html ソースコード build.gradle plugins { id 'org.springframework.boot' version…
Spring Data RedisのRedisTemplateのテストにTestcontainersを使いたいときのメモ。 ソースコード build.gradle plugins { id 'org.springframework.boot' version '2.4.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } grou…
Spring BootのWebClientのテストにSpring Cloud ContractのWireMockを使ってみたときのメモ。 (ちなみに、RestTemplateのテストで使えるMockRestServiceServerはWebClientをサポートしていなかった) ソースコード build.gradle plugins { id 'org.springfr…
Spring Boot 2はRxJava2をサポートしているので、Spring MVCとSpring WebFluxどちらでも、Controllerの戻り値にFlowableなどを指定できる。 ソースコード dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation…
Spring BootはHTTP/2のh2c (HTTP/2 over TCP)をサポートしていないが、Armeriaを組み合わせると使用できる。 追記 - Spring Boot 2.3.5からh2cの設定方法がドキュメントに記載されたので、Armeriaを使わなくても試せるようになった。 https://docs.spring.io…
Spring SecurityのCSRFを有効にしている状態で、SpringfoxのSwagger上でPOST等のメソッドを実行したいときのメモ。 そのままでは試せないが、以下のようなCSRF tokenがを返すエンドポイントを作れば、POST等のメソッドも実行できる。 ソースコード plugins {…
Spring Boot ActuatorとMicrometerを使っているときに、こんなwarnログが出たときのメモ。 WARN o.s.b.a.a.m.OnlyOnceLoggingDenyMeterFilter - Reached the maximum number of URI tags for 'http.client.requests'. Are you using 'uriVariables' on RestT…
Spring BootのcacheにCaffeineを使っている場合で、cacheごとにmaximumSizeやexpireAfterAccessを指定したいときのメモ。 プロパティのspring.cache.caffeine.specにはcacheごとにexpireAfterAccessなどを設定できないので、SimpleCacheManagerを使うしかな…
Spring Data RedisとSpring Session Data Redisで、RedisConnectionFactoryを分けたいときのメモ。 Spring Sessionで使うRedisConnectionFactoryに@SpringSessionRedisConnectionFactoryを付けると、Spring Sessionはこちらを使うようになる。 Spring Boot: …