Spring
これは、なにをしたくて書いたもの? RESTEasy Spring Boot Starterというリポジトリを見つけたので、試してみようかと そういえば、Spring BootにはJAX-RS and Jerseyがあったので、RESTEasyで1度試してみるのもいいかもと そういう、単純な動機です。 REST…
ちょっと前に、KeycloakのClient Adapterを使って、Keycloakに対してOpenID Connectを使って連携するエントリをいくつか 書いてみました。今度は、KeycloakのClient Adapterは使わず、もう少し汎用に近いライブラリでKeycloakに対してOpenID Connectを使って…
Spring WebFluxを使ったプログラミングスタイルには、Spring MVCと同じAnnotated ControllersとFunctional Endpointsが ありますが、Annotated Controllersの方しか試していなかったので、そろそろFunctional Endpointsも試してみようかと。Spring WebFlux /…
Minishiftから引き込まれるOpenShift Originには、WildFlyのImageStreamが含まれています。これを使うとWARファイルはデプロイできるのですが、Spring Bootアプリケーションでよくあるような、 組み込みTomcatを使用したUber JARの場合とかどうなるのかなぁ…
KeycloakのSpring Boot Adapterをこの前試してみたのですが、Keycloak 4のSpring Boot 2 Adapterを試す - CLOVERこれとは別にSpring Security Adapterがあるようです。Spring Security AdapterSpring Boot Adapterを見ていた時に、Spring Security Adapterが…
Keycloak 4.0.0.Finalがリリースされました。Release Notesを見ていると、その中にSpring Boot 2へのサポートが追加されたと 書かれていたので、ちょっと試してみようかと。Keycloak 4.0.0.FinalSprint Boot 2ところが、ドキュメントにはSpring Boot 2につい…
Spring Cloud Streamには、Reactor…Reactive Programmingに対するサポートがあります。Programming Model / Reactive Programming Support今まで、Reactiveでない方のAPI(詳細見てませんけど、対比してなんて言うんだ?)を使ってばかりでしたが、今回はRea…
そろそろ、Spring WebFluxを使いつつ、データストアも組み合わせて覚えていきたいなと思いまして。Reactiveな接続がサポートされているのは、Redis、Couchbase、Apache Cassandra、MongoDBですが、この中なら個人的には Apache Cassandraで試しておきたいと…
ちょっとしたお題がありまして、Spring WebFluxでProxyサーバーを書いてみました。お題は、こんな感じで。 Reverse Proxy 緩いProxyサーバー(X-Forwarded〜とかは気にしない) ほぼなにも考えず、バックエンドへのリクエストとレスポンスの内容を転送する G…
Spring Data Hazelcast 1.1が半年くらい前にリリースされていたのですが、このバージョンから@Queryアノテーションを 使うことができるようになっていたみたいです。GitHub - hazelcast/spring-data-hazelcast: Hazelcast Spring Data integration Project h…
両国にあるKFC Hall & Roomsで行われた、Spring Fest 2017に参加してきました。Spring Fest 2017日本Springユーザ会主催、Springのイベントに参加するのは、これが初めてですね。平日の開催でしたが、ちょっと行ってみたいなぁと思って会社を休んでの参加と…
Spring Cloud Streamでは、Binderのエラーハンドリングの仕組みとして、Dead Letter Queueというものがあります。Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3 / Error HandlingRabbitMQにDead Letter Exchanges(DLX)というも…
前に、Infinispan 9から入ったSpring Sessionのサポート(Embedded Mode)を試しました。InfinispanのSpring Session Support(Embedded)を試す - CLOVER今度は、Remote(Hot Rod)で試してみたいと思います。Externalizing session using Spring Sessionど…
Spring Cloud Streamのドキュメントで、Schema Evolutionというものが載っていて、ちょっと興味があったので 試してみることにしました。Schema evolution supportSpring Cloud Stream Brooklyn.M1 is available Schema Evolutionとは? Spring Cloud Stream…
Infinispan 9から、Spring用のモジュールにSpring Sessionのサポートが入りました。Externalizing session using Spring SessionEmbedded Mode、Client/Server Mode両方で使うことができます。今回は、Embedded Modeで使ってみましょう。また、Spring Boot…
Spring Boot CLIを使うと、Groovyスクリプトで簡単にSpring Bootアプリケーションを書くことができます。http://d.hatena.ne.jp/Kazuhira/20160214/1455460595まあ、小さなスクリプト程度で済むものであれば、これでもいいかなという気もしますね。62. Using…
前に、Spring Cloud Stream+Apache Kafkaで、Consumer Groupを設定した時の動作を見てみました。Spring Cloud Stream+Apache Kafkaで、Consumer Groupを設定した時の挙動を確認する - CLOVERこの時にも少しパーティションは使っていたのですが、今回はより…
Spring Cloud Streamの設定のうち、以下の部分ですが spring.cloud.stream.bindings.input.group= spring.cloud.stream.bindings.<channelName>.group=指定した方がいいよーという話は見るものの、効果のほどを自分で確認したことがなかったので、 気になって見てみること</channelname>…
Spring Cloud Streamを少しずつ試しているわけですが、毎回SinkからSourceまで作って動かしていくのは ちょっと面倒なので、テストコードで動かす方法を学んでみようと思います。Spring Cloud Stream自体に、テストのサポートがあるようですし(P.113)。Eve…
始めたばかりのSpring Cloud Streamで、前回はとりあえずSourceとSinkを作ってみたものの、 今回はProcessorを書いてみたいと思います。 Processorとは? Binderにメッセージを送り込むのがSource、メッセージを受け取るのがSinkですが、この両方を併せ持っ…
最近興味があるプロダクトのひとつに、Spring Cloud Streamがあります。眺めていてだいぶ時間が経っているのですが、 そろそろ試してみようかなということで。 Spring Cloud Streamとは? マイクロサービス間のメッセージングを実現するプロダクトです。Spri…
Spring Data Geodeで、Repositoryを試してみます。こちらのエントリの続きです。1.0.0.INCUBATINGになったSpring Data Geodeを軽く試す - CLOVER今回は、Queryを使ってみましょう。とても簡単な例でいってみます。あと、ちょこっと PDXもからめてみたいと思…
Spring Bootの勉強として、自分でAutoConfigurationを作ってみようかなと思いまして。AutoConfigurationの内容を読んだりはしますが、自分で作ってみた方がより理解が深まりますよね。というわけで、お題を以下のように設定してみました。 Spring Boot 1.5.1…
Spring Bootの勉強を兼ねて、かなり誰特ですがInfinispan Serverの各種モードをSpring Boot上に組み込んで 動かせるようにしてみました。ソースコードはこちら。 https://github.com/kazuhira-r/infinispan-embedded-server-spring-boot動かせるプロトコルは…
Spring Data Geodeには、SpringのCache Abstractionで使うCacheManagerの実装が含まれています。 ※もとはもちろん、Spring Data GemfireのものですがSupport for Spring Cache Abstraction今回、こちらを試してみたいと思います。なお、構成はClient/Server…
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には、トランザクションと連携する機能があります。ドキュメントにそれっぽいことは見当たらない気がしますが…。36. Cache Abstraction関連するクラスはorg.springframework.cache.transactionパッケージに入っていて、主要なクラ…
SpringのCache Abstractionでは、バックエンドのキャッシュに対するCache Providerがあり、それぞれCacheManagerの 実装を提供していますが、複数のCacheManagerを組み合わせるCompositeCacheManagerというものがあります。Cache / Dealing with caches with…
SpringのCache Abstractionで提供される各種アノテーションでは、使用するキャッシュを複数指定することが できます。Cache / Declarative annotation-based caching複数のキャッシュを設定した時に、どのような動作をするのか確認してみましょう。なんとな…
Jacksonで、LocalDateTimeなどのDate and Time APIのクラスを使ってJSONを作成すると、デフォルトだと ちょっと困ったことになります。前提としてSpring Bootを使っているのですが、まずはpom.xmlに以下のように宣言。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo</artifactid></dependency>…