CLOVER🍀

That was when it all began.

JPA

Brave JAXRS2で、JAX-RSでもDistributed Tracing #javaee

この記事は、「Java EE Advent Calendar 2016 - Qiita」の14日目の記事となります。 昨日は、@n_agetsuさんの「Commons Lang 3.5 でJava EEにBreakerを組み込む - 見習いプログラミング日記」でした。 明日は、@khasunumaさんのご担当となります。 JAX-RSで…

WildFly Swarmで、JDBC Driverの自動登録機能とDataSourceの設定を使う

WildFly Swarm 2016.12.0で、互換性のない変更のひとつとして、JDBC Driverまわりの機能が入りました。Announcing WildFly Swarm 2016.12.0 | Thorntail「Bring-your-own JDBC driver」ってやつですね。これまでWildFly Swarm側で各Driver向けのモジュールを…

Apache DeltaSpikeのData Moduleを試す(Test-Control/Arquillianテスト付き)

Apache DeltaSpikeには、Data Moduleというものがあります。Data Moduleサンプルを見ていると雰囲気はなんとなくわかるのですが、JPAでRepositoryパターンを実装するためのもので、 インターフェースに対して命名規則でクエリを自動生成 @Queryアノテーショ…

JTAのSynchronizationを使ってみる

JTAで、今まで割と目にしていたもので、かつ使ったことのないもののひとつにSynchronizationがあったので、ちょっと試してみました。 Synchronizationとは? JTAのJSR、JSR-907を見てみるとJSR 907: Java Transaction API (JTA)「3.3.2 Transaction Synchron…

Java SE環境で、JNDI × JTA(Bitronix/Atomikos/JOTM) × JPA

先日、こういうエントリを書きました。Java SE環境で、JNDI × JTA(Narayana) × JPA - CLOVER使ったのがNarayanaだったことと、「SE環境でもJTA使えるの?」みたいな反応をいただきましたので、もう少し書いてみることにしました。今回は、OSSのJTA実装とし…

Java SE環境で、JNDI × JTA(Narayana) × JPA

ちょっと、Java SE環境でJTAを使ってみたくなりまして。まあ、JTAを試すのに、アプリケーションサーバーを用意したりデプロイしたりするのが面倒というだけの理由です。JTAの実装には、Narayanaを使用することにしました。Narayana Homepage · Narayana他に…

Spring BootとHibernate Searchで遊ぶ

最近、Hibernate Searchの5.0.0.Finalがリリースされました。Hibernate Search http://hibernate.org/search/Hibernate Search 5系から使用するLuceneが4.10系になったので、試してみようと思い、どうせならとSpring Bootを使って遊んでみました。こんなもの…

Hibernate Search × Infinispan × WildFly

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

JPAのSecond Level Cacheを試してみる

WildFlyもリリースされ、Infinispan 6.0.1.Finalが同梱されていることですので、JPA(実装はHibernate)のSecond Level Cache(以降、L2キャッシュ)を使ってみることにしました。以前にJBoss AS 7.1.1でやっていたころは、うまくいかなかったんですよねぇ……

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

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

JPQLとString Interpolationを使って遊んでみる

この前、ScalaのString Interpolationを初めて自分で定義してみたので、ちょっと練習的にネタを書いてみました。ターゲットは、JPQLです。JPQLを使ってクエリを投げる時には、 em.createQuery("SELECT u FROM User u WHERE age > :age", User.class) .setPar…

EclipseLink × MongoDB

前回書いた、Java EE Advent Calendar 2013向けの記事の、スピンオフなネタです。実は、こちらのネタを先に考えてコードまで書いたのですが、JCacheよりも興味を引けなさそうだなぁと思って、ボツにしました。こちらは、通常のエントリとして書きます。テー…

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>

コンテナ管理トランザクションとEJB Lite?

前にJava EE 6のとっかかりということで、JAX-RSとEJBとJPAをつなげて遊びましたが、この時はReadが精一杯でした。で、今回は少し視点を変えてコンテナ管理トランザクションを見ていこうかなと思います。ちょうどこちらに、ピタリなテーマが。 EJBで複数テー…

DETACHED状態の関連エンティティへのアクセスについて

JPA

JPA、特にJPAの実装にHibernateを使っている場合に遭遇するということで、有名なやつを。この話自体はちょこちょこ見かけるのですが、実際に自分の目で見たことはなかったので、ここはひとつ確認してみることにしました。確認に使用する、テーブル定義はこん…

ScalaでJava EE 6(JAX-RS+EJB+JPA)

*JAX-RSの部分を@emaggameさんからご指摘いただいたので、修正しましたJPAをちょこちょこ触ってきましたが、そろそろEE系のものも使ってみた方が面白いかなぁと思い、これまでずっと手を出してこなかったJava EEに踏み込んでみることにしました。使うアプリ…

InfinispanのJPA Cache Storeを試す

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

ほぼ初めてのJPA

JPA

ちょっと思うところがあって、JPAの簡単なサンプルを書いてみました。JPAは、1.0の頃にちょこっと本を見て書いたことがあるだけで、ほとんど覚えていません。仕事でも使っていませんし。で、とりあえずJava EEサーバにデプロイなんて考えずに、Java SEの範囲…