CLOVER🍀

That was when it all began.

2017-01-01から1年間の記事一覧

Apache GeodeでPartitioned Regionを使った時の、Member増減時の挙動と設定を確認する

Apache Geodeでちょっと気になっていることのひとつとして、Partitioned Regionを使った時にMemberが 増減した際の挙動があります。前に少し試したことがあるのですが、Apache GeodeでのBucketとキーの配置について(概要/API編) - CLOVERApache Geodeでの…

sbtとMavenで、実行可能JARファイルの先頭に起動スクリプトを差し込む

sbt-assemblyやMaven Shade Pluginなどで実行可能なJARファイル(java -jar xxxxx.jar)を作成することが できますが、このJARファイルの最初の方にシェルスクリプトやWindowsのバッチファイルの内容を差し込むことで、 単体のファイルとして実行することが…

WildFly Maven Pluginで、WildFly/Infinispan Serverにデプロイする

今更ながら、WildFly Maven Pluginを使うと、WildFlyにMavenプロジェクトからデプロイできることを 知りました…。WildFly Maven Plugin – IntroductionJenkinsからWildFlyへのリモートデプロイ(pom.xmlの更新) - そごうソフトウェア研究所wildfly-maven-pl…

UpdateをサポートしたInfinispanのContinuous Queryを試す

Infinispan 8から搭載された機能として、Continuous Queryがあります。これ自体は、前に試していました。InfinispanのContinuous Queryを試す - CLOVERただこの時はJoin/Leaveはサポートしていたものの、Updateは無視されるようになっていました。Infinispa…

Spring Cloud StreamのTest Supportを使う

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

Infinispan 9で追加された、Ickle Queryを試す

先日、Infinispan 9(9.0.0.Final)がリリースされました。Infinispan: Infinispan 98系のリリースから1年くらいかかっていますが、まあいろいろ変わって新機能も追加されました。 これから順次見ていこうと思います。 Ickle Query で、最初にInfinispanに新…

Spring Cloud StreamのProcessorを書いてみる

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

はじめてのSpring Cloud Stream

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

Javaの圧縮・解凍ライブラリ(JDK標準GZIP、Commons Compress、snappy-java、LZ4 Java)を試す

ちょっと圧縮・解凍ライブラリを調べていまして、簡単に以下あたりを比較したり、確認するための 下地を作ってみようかなと思いまして。参考) 2016年のOSS圧縮ツール選択カタログSnappyとか名前をちらっと見かけたことがあるくらいだったので、こういう機会…

InfinispanのRemote Task Executionを使って、Infinispan Server上でタスクを実行する

Infinispanのドキュメントに載っていないAPIで、Remote Task Executionというものがあることに JBoss Data Gridのドキュメントを見ていて気づきました。Chapter 32. Remote Task Execution - Red Hat Customer PortalInfinispanのリポジトリ上でも、それっぽ…

Testcontainersを使って、JUnitテスト中にDockerコンテナを起動/停止する

前に、MavenのプラグインとしてDockerの操作を行う、docker-maven-pluginを試してみました。docker-maven-pluginで、Integration Test時にDockerコンテナの起動/停止をする - CLOVER今度は、JUnitのRuleを使用してDockerコンテナの起動停止を行う、Testcont…

docker-maven-pluginで、Integration Test時にDockerコンテナの起動/停止をする

Docker+Mavenで、テスト時にDockerコンテナを起動してテストして…みたいなことを、そういえばやったことが ないなぁと思いまして。いつも、わりかしふつうにdocker runしてます。で、MavenでDockerを使うプラグインの情報をなんか見たことがあったので、軽…

Apache KafkaのQuickstartのサンプルを、JavaのClient APIで書き直してみた

Apache KafkaのClient APIを使った、いわゆる「Hello World」的なことを試してみよう…と思ったのですが、 ドキュメントを見てもそれほど書いてありません。Documentation / APISMaven Dependencyと <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.2.0</version> </dependency> Configuration…

WildFly SwarmのConsul+Ribbon IntegrationでService Discovery+Load Balancing

以前、WildFly SwarmとConsulを使った、Service Discoveryを試しました。http://d.hatena.ne.jp/Kazuhira/20170114/1484401806今度は、WildFly Swarm+Consulの組み合わせに、さらにRibbonを足してロードバランシングまで行ってみます。NetflixOSS Ribbonと…

MySQLでパーティショニングを使用した時の、データの配置状態を確認する

MySQLで、パーティショニングを使った時に、どのパーティションにどれくらいのデータが入っているかを 確認するには、information_schemaにあるpartitionsテーブルを見ればよいみたいです。 ※確認は、MySQL 5.7で行っていますこんなテーブルです。 mysql> DE…

Ubuntu Linuxに、Apache Kafkaをインストールする

今後の勉強にあたり、Apache Kafkaを使ってみようかなと思いまして。まずは、Apache Kafkaをインストールしてみたいと思います。Apache Kafkaまた、参考にしたサイトはこちら。Apache Kafka, 他とは異なるメッセージングシステムシシド・カフカさんが気にな…

MySQL 5.7でレプリケーションを構成する

MySQL 5.7で、レプリケーション構成を組んでみます。MySQLサーバーは、以下の2つを用意。 MySQL 5.7.17 - Master - 172.17.0.2 MySQL 5.7.17 - Slave - 172.17.0.3 レプリケーションに使用するユーザーは「repl」とします。 Master側の設定 Master側のmy.cnf…

Google Books APIで、軽く書籍検索

Googleが提供している、Google Books APIを使うことである程度簡単に書籍検索が行えるように なるらしいというお話。APIは、こちら。Using the API | Google Books APIs | Google Developers実際のアクセス先URLやパラメーターの説明は、こちらを参照のこと…

テストデータ・ジェネレータで、テスト用のユーザー情報を作成する

テスト用にそれっぽい人の情報を作成ツールとして、テストデータ・ジェネレータがあります。テストデータ・ジェネレータこちらを使うことで最大4,999件までのテストデータを作成することができるみたいです。で、Webで使うわけですがもうちょっと楽をしたい…

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

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

Apache Geode 1.1.0で、LocatorのみでJARファイルがデプロイできるようになったという話

Apache Geode 1.1.0がリリースされました。incubatingから、Apacheのトップレベルのプロジェクトに なりましたね。Release Notesは、こちら。1.1.0その中で、ちょっと気になったのがこちら。 Made cluster configuration service easier to use so that you …

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…

JAX-RS(RESTEasy/Undertow)で、Swaggerを使ってREST APIのドキュメントを生成する

Swaggerというものがあるのはなんとなく知っていたのですが、使ったことがなかったので 試してみます。The Best APIs are Built with Swagger Tools | SwaggerSwaggerで始めるモデルファーストなAPI開発あんまりちゃんと調べたことなかったのですが、JSON/Y…

UndertowでWebSocketを使って遊ぶ

WebSocketを軽く触ってみようと思いまして。WebSocketのAPIは、Java EE 7にJSR-356があるので、こちらを使って試すことを前提に 考えたいと思います。The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 356また、…

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…

Apache GeodeのServerにJARファイルをデプロイする

Client/Server ModeのApache Geodeでは、Queryなどを実行する時にはJARファイルをServer側にデプロイする 必要があります。デプロイには、gfshで「deploy」コマンドを実行するのですが、複数のServerに一気にデプロイ できるみたいだったので、確認してみま…

Docker Composeで、Apache Geodeの簡単なクラスタ環境を構築する

1.0.0-incubatingがリリースされて久しいApache Geodeですが、クラスタ環境を簡単に構築するような Docker Composeを書いてみようかなと思いまして。あくまで手元で簡単に確認したいがための内容なので、あんまりがっちりとした内容ではありません。次のこと…

SpringのCache AbstractionとTransaction

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