CLOVER🍀

That was when it all began.

Spring

Spring Cloud Stream+Apache Kafkaで、Consumer Groupを設定した時の挙動を確認する

Spring Cloud Streamの設定のうち、以下の部分ですが spring.cloud.stream.bindings.input.group= spring.cloud.stream.bindings.<channelName>.group=指定した方がいいよーという話は見るものの、効果のほどを自分で確認したことがなかったので、 気になって見てみること</channelname>…

Spring Cloud StreamのTest Supportを使う

Spring Cloud Streamを少しずつ試しているわけですが、毎回SinkからSourceまで作って動かしていくのは ちょっと面倒なので、テストコードで動かす方法を学んでみようと思います。Spring Cloud Stream自体に、テストのサポートがあるようですし(P.113)。Eve…

Spring Cloud StreamのProcessorを書いてみる

始めたばかりのSpring Cloud Streamで、前回はとりあえずSourceとSinkを作ってみたものの、 今回はProcessorを書いてみたいと思います。 Processorとは? Binderにメッセージを送り込むのがSource、メッセージを受け取るのがSinkですが、この両方を併せ持っ…

はじめてのSpring Cloud Stream

最近興味があるプロダクトのひとつに、Spring Cloud Streamがあります。眺めていてだいぶ時間が経っているのですが、 そろそろ試してみようかなということで。 Spring Cloud Streamとは? マイクロサービス間のメッセージングを実現するプロダクトです。Spri…

Spring Data GeodeでRepositoryを使う(ちょっとだけPDXも)

Spring Data Geodeで、Repositoryを試してみます。こちらのエントリの続きです。1.0.0.INCUBATINGになったSpring Data Geodeを軽く試す - CLOVER今回は、Queryを使ってみましょう。とても簡単な例でいってみます。あと、ちょこっと PDXもからめてみたいと思…

Spring BootのAutoConfigurationを自分で作ってみる

Spring Bootの勉強として、自分でAutoConfigurationを作ってみようかなと思いまして。AutoConfigurationの内容を読んだりはしますが、自分で作ってみた方がより理解が深まりますよね。というわけで、お題を以下のように設定してみました。 Spring Boot 1.5.1…

Infinispan Serverを組み込みでSpring Boot上で動かせるようにしてみた

Spring Bootの勉強を兼ねて、かなり誰特ですがInfinispan Serverの各種モードをSpring Boot上に組み込んで 動かせるようにしてみました。ソースコードはこちら。 https://github.com/kazuhira-r/infinispan-embedded-server-spring-boot動かせるプロトコルは…

Spring Data Geodeで、SpringのCache Abstractionを使う

Spring Data Geodeには、SpringのCache Abstractionで使うCacheManagerの実装が含まれています。 ※もとはもちろん、Spring Data GemfireのものですがSupport for Spring Cache Abstraction今回、こちらを試してみたいと思います。なお、構成はClient/Server…

1.0.0.INCUBATINGになったSpring Data Geodeを軽く試す

Apache Geodeが1.0.0-incubatingとしてリリースされていますが、合わせてSpring Data Geodeも 1.0.0.INCUBATING-RELEASEになっています。とはいえ、Spring Data Geode用のページはなくて、相変わらずSpring Data Gemfireな わけですが。Spring Data for Pivo…

SpringのCache AbstractionとTransaction

SpringのCache Abstractionには、トランザクションと連携する機能があります。ドキュメントにそれっぽいことは見当たらない気がしますが…。36. Cache Abstraction関連するクラスはorg.springframework.cache.transactionパッケージに入っていて、主要なクラ…

SpringのCache Abstractionで、複数のCacheManagerを合わせるCompositeCacheManagerを使う

SpringのCache Abstractionでは、バックエンドのキャッシュに対するCache Providerがあり、それぞれCacheManagerの 実装を提供していますが、複数のCacheManagerを組み合わせるCompositeCacheManagerというものがあります。Cache / Dealing with caches with…

SpringのCache Abstractionで、 アノテーションに複数のキャッシュを指定した場合の動きを確認する

SpringのCache Abstractionで提供される各種アノテーションでは、使用するキャッシュを複数指定することが できます。Cache / Declarative annotation-based caching複数のキャッシュを設定した時に、どのような動作をするのか確認してみましょう。なんとな…

Spring Boot+JacksonのDate and Time APIでフォーマットを変更する

Jacksonで、LocalDateTimeなどのDate and Time APIのクラスを使ってJSONを作成すると、デフォルトだと ちょっと困ったことになります。前提としてSpring Bootを使っているのですが、まずはpom.xmlに以下のように宣言。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo</artifactid></dependency>…

SpringのCache AbstractionでRedisを使ってみる

SpringのCache Abstractionで、Redisを試してみたくなったので、気になるところの確認を含めて ちょっと遊んでみます。Spring BootのAutoConfigure対象で、裏ではSpring Data Redisを使っているみたいです。Caching / RedisSpring Data Redisここでは、簡単…

ローカルキャッシュにCaffeineでも

この記事は、「Java Advent Calendar 2016 - Qiita」の4日目の記事となります。 昨日は、@susumuisさんの「Javaが僕にくれたもの | susumuis Info」でした。 明日は、@fukushiwさんのご担当となります。 ローカルキャッシュ、今ならなにを使うでしょう? Jav…

Infinispan Embedded Mode/Remote(Hot Rod Client) × Spring Cache

Infinispanには、Springとの連携(Spring Cache Provider)がけっこう前からあります。Infinispan 5.0.0.Finalの時点では、すでにあったみたいです。とはいえ、しばらくEmbedded Modeのみだったのですが、8.1.0.FinalでClient/Server(Hot Rod Client)での…

Scala × Spring 4.3でコンストラクタインジェクション

今更ですが、Spring 4.3でコンストラクタインジェクションを使う際に、@Autowiredを付けなくてもよくなったという話をちょっと試しておこうかと。Scalaで。Spring 4.3 DIコンテナ関連の主な変更点pom.xmlは載せますが、長いので最後に。 確認用のコードを用…

Spring Data Hazelcastで遊ぶ

HazelcastによるSpring Data向けのモジュールが、8月末くらいにリリースされているのに気付きました。GitHub - hazelcast/spring-data-hazelcast: Hazelcast Spring Data integration Project http://projects.spring.io/spring-data/現時点のバージョンは、…

InfinispanのDistributed Streams APIを使ってWordCount

最近、こういう記事があるのを見つけました。Red Hat JBoss Data Grid 7 + JBoss BRMSで始めるリアルタイムビッグデータ | RED HAT OPENEYE -レッドハットの情報ポータル Red Hat JBoss Data Grid 7 + JBoss BRMSで始めるリアルタイムビッグデータ | RED HAT…

Spring Data GeodeをとりあえずSpring Boot Starterなしで使う

Apache Geode 1.0.0-incubating.M2がリリースされた時に、Spring Data Geodeの1.0.0.APACHE-GEODE-INCUBATING-M2がリリースされました。Spring Data Geode 1.0.0.APACHE-GEODE-INCUBATING-M2 ReleasedSpring Data Gemfireのバージョンのうち、特にApache Geo…

Spring SessionのInfinispan向けコードを書いてみた

Spring Session 1.1.0で、Hazelcastのサポートが追加されました。Redirecting…Spring Session 1.1.0 Releasedコードは、このあたり。 https://github.com/spring-projects/spring-session/tree/1.2.0.RELEASE/spring-session/src/main/java/org/springframew…

Spring Data GemFire × Apache Geode

Spring Data GemFireとApache Geodeを、組み合わせて使えると聞いて。Spring Data for Pivotal GemFireSpring Data GemFire supports Apache GeodeNew in the 1.7 ReleaseSpring Data GemFire 1.7から、Apache GeodeのEarly Access supportが始まっているそ…

Spring Boot CLI+Groovy+Grapeを使って、簡単にSpring Bootアプリケーションを書く

sdkman(gvmの頃からですが)を使って、Spring Bootをインストールすることができます。 $ sdk install springboot ここでインストールされるspringコマンド(Spring Boot CLIって言ったらいいんでしょうか?)で、簡単にSpring Bootアプリケーションが書け…

Spring BootのCache auto-configuration×JCache(Hazelcast)で遊ぶ

Spring Boot 1.3から、Cacheのauto-configurationが入ったということで。Cache auto-configuration in Spring Boot 1.3遊ぼう遊ぼうと思いつつ試せていなかったので、そろそろトライしてみることに。Caching サポートしているCacheのProviderは、こちら。Sup…

はじめてのSpring AOP

SpringでのAOPをやったことがないなと思いまして、Interceptorの書き方を軽く見るとともに、挙動について把握しておこうかと思いまして。Interceptorのかかり方について、気になるのは 可視性 Interceptorを動かすには、拡張されたインスタンス(要は@Autowi…

SpringのSingletonな管理Beanに、自分より短いライフサイクルのBeanをDIしようとすると?

なんとなく結果が見えている気がするんですけど、確認という意味で試してみました的な。SpringのBeanってデフォルトのスコープはSingletonですが、SingletonなBeanに対してそれより短いライフサイクル(例えば、RequestやSession)のものを放り込もうとする…

SpringのRestControllerとBindingResultと

RestControllerとBean Validationでの、ちょっとした動作確認。リクエストをマッピングするこんなクラスと src/main/java/org/littlewings/spring/restvalidate/ParamBean.java package org.littlewings.spring.restvalidate; import javax.validation.const…

Spring BootでWARファイルを作る

そういえば、やったことなかったなぁと思いまして、Spring Bootで実行可能JARファイルではなく、WARファイルを作ってTomcatなどにデプロイするための方法を試してみました。で、試すにあたって、せっかくなので以下のコンセプトでやってみたいと思います。 …

HazelcastCacheManager or JCacheCacheManager

最近、SpringのCache機能とライブラリ側で提供しているCacheManagerの実装を見ていて、ふと気付いたことについて。SpringのCache機能は、CacheManagerの実装が用意されているか、JCacheに対応した製品であればSpringが提供するJCacheCacheManagerを使うこと…

Hibernate SearchとSpringのCache機能で、InfinispanのCacheを共有する

前に1度挫折したネタを、別のアプローチでやってみようということで。以前、Spring BootとHibernate Search、そしてInfinispanを使って、こんなエントリを書きました。Spring Boot×Hibernate Searchで、インデックスを複数Nodeで共有する http://d.hatena.ne…