CLOVER🍀

That was when it all began.

Infinispan

Velocityのテンプレート配信に、InfinispanのGrid File Systemを使う

InfinispanのGrid File Systemを使った、思い付きのネタです。Webアプリケーションのテンプレートの配信に、InfinispanのGrid File Systemを使ってみようかなと思いまして。テンプレートエンジンには、Velocityを選択。あ、そもそもInfinispanのGrid File Sy…

InfinispanのJDBC Cache Storeを試してみる

前回InfinispanのRemote Storeを使ってみましたが、今度はJDBC Cache Store(JDBC based cache loaders)を試してみようと思います。4.8. JDBC based cache loaders http://infinispan.org/docs/6.0.x/user_guide/user_guide.html#_jdbc_based_cache_loaders…

InfinispanのRemote Storeを試してみる

ちょっと興味があって、InfinispanのRemote Storeを試してみました。4.9. Remote store http://infinispan.org/docs/6.0.x/user_guide/user_guide.html#_remote_storeRemote Storeというのは、InfinispanのCacheStoreのうちのひとつで、Remote Cache(Hot Ro…

InfinispanのSegmentsとHashing Algorithmの設定で遊んでみる

以前Segmentsの設定の確認だけはやったことはあったのですが、もう少し理解を進めるために、復習を兼ねて遊んでみます。7.4.2. Hashing Algorithms http://infinispan.org/docs/6.0.x/user_guide/user_guide.html#_hashing_algorithms以前、Segmentsの設定に…

InfinispanのRemote Queryを試してみる

Infinispan 6.0.0から追加されたHot Rod ClientでのRemote Queryですが、以前はProtocol Buffersが必要だったこともあり、ちょっと敬遠していました。で、最近になってまずはProtocol Buffersを使ってみたので、今度はRemote Queryを使ってみることにしまし…

Hibernate Search × Infinispan × WildFly

WildFlyに、Hibernate Searchが同梱されるようになったと聞き、せっかくなので試してみることにしました。Hibernate Searchが使用する、Luceneのインデックスの保存先はInfinispanとします。また、最終的にはWildFlyにCache Containerを定義して、クラスタリ…

Infinispanのトランザクション設定を、いろいろ試してみる

先ほどAtomicMapを使ってみて、いくつか疑問に思ったことがあったので、InfinispanのCacheのトランザクション設定をバリエーションを並べて試してみました。やったことは、設定的には ロック戦略は楽観的、分離レベルはREAD_COMMITTED ロック戦略は楽観的、…

InfinispanのAtomicMapを使ってみる

前々から、これ何だろう?と思っていた、InfinispanのAtomicMapを試してみます。特にドキュメントには記載はありませんが、org.infinispan.atomicパッケージという存在と、たまにテストコードが更新されているので、気になってみました。 AtomicMapとは? と…

Java EE環境で、Infinispanのトランザクション対応を試す

久しぶりに、Java EEを交えたネタ。以前Infinispanのトランザクション対応をスタンドアロンで試しましたが、今度はJava EE環境(JBoss AS 7.1)で試してみたいと思います。せっかくJava EE環境でやるのなら、JPAと組み合わせてCacheと一緒にトランザクション…

JCacheのRead ThroughとWrite Throughについて

2014年、最初のエントリです。みなさま、あけましておめでとうございます。今年もマイペース、自分好みのネタで書いていきますが、どうぞよろしくお願い致します。で、新年1発目のエントリですが、去年やったJCacheの続きをやります。Twitterで、ちょっとし…

Infinispan Queryモジュールを使う時の、設定を確認する

だいぶ前に、InfinispanのQueryモジュールを使ってなんとなくの検索を行ったことがありますが(Query DSLではありません)、その時は「とりあえず動かしてみました」的な感じで流していたので、ちょっとマジメに設定してみたいと思います。参照するのは、こ…

InfinispanのStateTransferを確認してみる

ちょっと他のライブラリで使っているInfinispanのデフォルトで用意されている設定ファイルを見て、StateTransferの設定がされていたのでそういえば調べてないなぁと思い、ちょっと確認してみました。ドキュメントには、特に章立てての記載はないので、XML Sc…

InfinispanのQuery DSLを試してみる

Infinispan 6.0から、Query DSLというものが追加されました。ちょっと気になっていたので、試してみようと思います。 前提知識 InfinispanのQueryですが、Lucene+Hibernate Searchという形で実現されています。よって、最終的にはLuceneのQueryが投げられる…

Standard Caching

はじめに この記事は、「Java EE Advent Calendar 2013 - Adventar」の4日目の記事となります。 昨日は、@backpaper0さんの「私のBeanValidationの使い方(Java EE Advent Calendar 2013) — 裏紙」でした。 明日は、@glory_ofさんのご担当となります。 自己紹…

InfinispanのCache#sizeやkeySetの動作を見てみる

Infinispanのようなインメモリ・データグリッドで、Cache#sizeやkeySetみたいなCache内のエントリ全体に波及しそうな操作は、基本的にやらない方がいいというイメージです。Infinispanというか、JBoss Data Gridのドキュメントにも以下のように書かれていま…

Infinispan × CDI(Embedded Cache)

とあるネタからの、スピンオフというか延長線上の話で。Embedded Cacheのみですが、InfinispanのCDIサポートを試してみました。CDI Support http://infinispan.org/docs/6.0.x/user_guide/user_guide.html#_cdi_support最近Java EE 6を始めたばかりですが、I…

Infinispanでヘテロなクラスタを組んでみる

2014/4/22) Issue ISPN-3752での修正後の確認結果に更新しました。 このエントリは、Infinispan 6.0.2.Finalで書き直しています。Infinispan 6.0.0.Finalがリリースされました。けっこうリリースを楽しみにしていたのですが、その中でもちょっと気になって…

InfinispanのHibernate 2nd Level Cacheサービスを開始する

Infinispanを、Hibernate 2nd Level Cacheとして使う場合は、あらかじめInfinispanのCacheManagerを起動しておく必要があるらしいです。「$JBOSS_HOME/standalone/configuration/standalone.xml」の以下の部分 <subsystem xmlns="urn:jboss:domain:infinispan:1.2" default-cache-container="hibernate"> </subsystem>

Infinispan 5.3.0.FinalをJBoss AS 7.1.1に突っ込む

JBoss ASで、Infinispanを使うための下準備ってことで。まあ、すぐには手をつけないかもしれませんが。sbtのMANIFEST設定の勉強にも、ちょいとなりましたね。コミュニティ版のJBoss ASは、7.1.1で止まっているので、サブシステムとして含まれているInfinispa…

InfinispanのJPA Cache Storeを試す

InfinispanにいくつかあるCache Storeの中でも、ちょっと気になっていたものです。JPA Cache Store http://infinispan.org/docs/cachestores/jpa/Infinispanは、JPAをCache Storeとすることができます(JPAのバージョンは2.0)。なんのことか、コードのイメ…

InfinispanとHazelcastを、memcachedサーバとして使う

ちょっとした好奇心で。memcachedって実は使ったことがないのですが、InfinispanとHazelcastはmemcachedサーバとして使えるのでこれをちょっと試してみようと思います。Infinispanの方はtelnetで試したことはありますが、ここはJava系のクライアントで使って…

Infinispan停止時にCacheのエントリがどうなるのか、改めて確認する

Infinispanのような、Node Discoveryの仕組みがあり、サーバを起動するとクラスタのメンバーに自動的に組み込まれるようなタイプのものについて、サーバ停止時はどうするのかなぁ?という点について。いや、別に面白いオチはなかったんですが…。確認のため、…

Infinispan REST Server & JAX-RS Client

Infinispan 6.0がけっこう大改造してそうな感じなので、またいろいろ変わるんだろうなぁと思いつつも、InfinispanのREST Serverで遊んでみました。Infinispan REST Server https://docs.jboss.org/author/display/ISPN/Infinispan+REST+ServerAccessing data…

InfinispanのSegmentsを使ってみる

Infinispanのドキュメントにある、Virtual Nodesをちょっと見てみようと思いまして。Virtual Nodes - Improving the distribution of data https://docs.jboss.org/author/display/ISPN/Clustering+modes#Clusteringmodes-VirtualNodesImprovingthedistribut…

Infinispan Server 5.3を使ってみる

Infinispan 5.3になってから、ずっとEmbedded Cacheしか使っていなかったのですが、6.0に向けた修正内容を見ていて、Remote Cacheでクエリが使えるようになりそうというところがちょっと気になりました。Remote Query Design in Infinispan https://communit…

Infinispanでキーの配置先のグルーピングを行うAPI

Infinispanは、キーとなるオブジェクトのハッシュ値で配置先のNodeを決定しますが、この挙動を変更するためのGrouping APIというものが存在します。The Grouping API https://docs.jboss.org/author/display/ISPN/The+Grouping+API以前は、こういうAPIを許可…

Infinispanの設定ファイルのdefaultタグについて

Infinispanの設定ファイルのdefaultタグですが、どうもちゃんと理解しないまま使っていたようです…。まあ、なんとなくそんな素振りは見えていた気がしますが。設定ファイルに書く <default> </default> の部分は、他のCacheのデフォルトの設定となり、namedCacheタグやConfigur…

InfinispanのL1 Cachingを試してみる

Infinispanのクラスタリング時に使える機能である、L1 Cachingをちょっと試してみました。L1 Caching https://docs.jboss.org/author/display/ISPN/Clustering+modes#Clusteringmodes-L1Caching L1 Cachingとは? クラスタリングのモードが、Distributionの…

InfinispanのCacheの設定を、文字列として出力して確認してみる

Infinispanを触っていて、たまにCacheにどんな値が設定されているのとかを確認したくてやっている方法です。Cache#getCacheConfigurationで得られるConfigurationクラスのインスタンスをtoStringすると、現在の設定値が得られます。普通に取得したCacheのイ…

InfinispanのListener機能を使ってみる - 3

前回は、CacheStoreとトランザクションの確認をしました。今度は、クラスタリングです。前回はこちら http://d.hatena.ne.jp/Kazuhira/20130627/1372339722ここから、キャッシュサーバが複数必要になるので、浮いててもらうサーバを適宜起動・停止して進めて…