CDI
これは、なにをしたくて書いたもの? Jakarta Contexts and Dependency Injection(CDI)のコンテナ起動・終了時になにか処理をしたいと思った場合に、どうしたらいいのか よく知らなかったので見ておくことにしました。 ちなみにJakarta Servletの場合はこ…
これは、なにをしたくて書いたもの? このブログではJakarta EE(Java EE)環境ではないところではデータベースアクセスにDomaをよく使っているのですが、そういえば Jakarta EE(Java EE)のアプリケーションサーバーで使うように設定したことがないな、と…
これは、なにをしたくて書いたもの? Eclipse MicroProfileに含まれている、Rest Clientをちょっと見ておこうかなと。 今まで何回か別のテーマを扱っている時に使っているのですが、完全に雰囲気で使っていたのでこの機会に、と。 Eclipse MicroProfile Rest…
これは、なにをしたくて書いたもの? WildFlyでOpenTelemetryを試してみたいということで、まずはMicroProfile Telemetryサブシステムを試してみたいと思います。 MicroProfile Telemetry(MicroProfile Telemetry Tracing) MicroProfile Telemetryは現在バ…
これは、なにをしたくて書いたもの? Jakarta EEアプリケーションを開発する時に、WildFly Maven Pluginのdevゴールを使ったりすると楽そうだなと思ったので、ちょっと 試してみることにしました。 同じような発想でWildFly Bootable JARを試したことはあり…
これは、なにをしたくて書いたもの? RESTEasy 6.1.0に関するブログを見ていて、JAX-RS(Jakarta RESTful Web Services) 3.1ではJava SE環境でJAX-RSを動かすことが できるようになっていたことに気づいたので、少し試してみようかなと。 RESTEasy Releases…
これは、なにをしたくて書いたもの? RESTEasy 6.1.0に関するブログを見ていて、JAX-RS(Jakarta RESTful Web Services)のインジェクションの仕組みはCDIの利用が 推奨されるようになっていたので、こちらを軽く確認しておきました。 RESTEasy Releases RES…
これは、なにをしたくて書いたもの? RESTEasyが3.6.0.FinalでRxJava 2を組み込めるようにしているらしいので、試してみたい RESTEasy 3.6.0.Final and 4.0.0.Beta4 せっかくなので、無限Stream的なレスポンスが継続するような使い方をしてみたい Listenerを…
以前、Payara MicroのClustered CDI Event Busについて、エントリーを書きました。Payara MicroのClustered CDI Event Bus(Hazelcast Topic)の仕組み - CLOVERCDIのEvent APIで、あるPayara Microで発生したイベントを、別のPayara Microに伝播させる機能…
WildFly Swarmには、Project Stagesという概念があります。Project Stages一方で、CDIに関する機能強化をしてくれるフレームワーク、Apache DeltaSpikeにも ProjectStageという概念があります。DeltaSpike ProjectStageWildFly Swarmには、Apache DeltaSpike…
前々から気になっていたWildFly Swarmですが、そろそろちょっと試してみることにしました。Rightsize your Java EE Applications | Thorntail WildFly Swarmって? WildFlyを組み込んで、実行可能JARを作成したり、必要な機能やその他のライブラリなどを統合…
Apache DeltaSpikeには、Data Moduleというものがあります。Data Moduleサンプルを見ていると雰囲気はなんとなくわかるのですが、JPAでRepositoryパターンを実装するためのもので、 インターフェースに対して命名規則でクエリを自動生成 @Queryアノテーショ…
Apache DeltaSpikeには、Scheduler Moduleというものがあり、こちらを使って定期的に動かすジョブを作成することができます。Scheduler ModuleジョブのスケジュールはCRON形式で指定でき、実装としてはQuartzを使っているようです。Quartz Enterprise Job Sc…
Apache DeltaSpikeには、Configuration Mechanismというものがあり、設定情報を管理することができます。DeltaSpike Configuration Mechanismこちらを利用すると、設定ファイルに定義した情報をProjectStageごとに分けて管理できたり、設定ファイルの中で変…
Apache DeltaSpikeには、ProjectStageというものがあります。DeltaSpike ProjectStage(Core) Type-safe ProjectStage(Test-Control) ProjectStage Control参考) https://tanoseam.wordpress.com/2015/11/03/cdi-test-2/ProjectStageがどういうものかという…
Apache DeltaSpikeのテスト用モジュールには、モックを使ったテストができる機能があります。Mock FrameworksインターセプターがかかったCDI管理Beanはモック化できないという制限はあるようですが、ちょっと試してみましょう。 Attention: Mocking CDI bean…
Java EEでのテスト、といえばArquillianのイメージがありますが、もうちょっと軽いものはないかなぁと思っていたところ、そういえばApache DeltaSpikeにテスト用のモジュールがあったのを思い出しました。Test-Control ModuleApache DeltaSpikeってなんなの…
最近、とある人から「PayaraのCDI Event Busの仕組みを知りたいんですけど、どうやってるんでしょうか?」と聞かれました。言葉自体初めて聞くのに、なにそれ??みたいな感じでしたが。まあ、Payaraのブログの絵を見せてもらって、「あ、これって…」と思う…
時々ブログや本で目にする、CDIのInjectionPointを使ってそこから取れる情報を見てみました。よくLoggerを使った例を見かけるので、自分もそれに習って気になるところを試してみます。InjectionPointを使うと、依存関係を注入する場所のメタデータにアクセス…
もうそろそろ一区切りにしようと思っている、CDI勉強シリーズ。個人的に、次に勉強すべきJava EEのテーマはあるのですが…やるのでしょうか…。で、今回はCDIのEventを使ってみたいと思います。CDIで、デザインパターンのObserverパターンをサポートしていると…
ちょっとCDIで気になったAPIがありまして、それを使ってみるついでに@Injectアノテーション以外でCDI管理Beanを取得する方法を少々書いてみました。@Inject以外の方法で、要はAPI呼び出しでCDI管理Beanを取得したいケース… 実行時の条件に応じてBeanの種類を…
CDIの適用条件と順番について、今ひとつわかっていないところがあったので確認してみます。 ※というか、JSR-318? 準備 ビルド定義は、以下の通りでScala+sbt。 build.sbt name := "cdi-interceptor-ordering" version := "0.0.1-SNAPSHOT" scalaVersion :=…
CDIのDecoratorを試してみました、ということで。CDIによるデコレータ http://kikutaro777.hatenablog.com/entry/2014/06/18/232219なにやら、@Decoratorアノテーションを使用することで、CDIを使ってDecorator Patternを実現する機能?だそうな。使ったこと…
以前、こんなエントリを書きました。CDIでコンストラクタインジェクションしたい http://d.hatena.ne.jp/Kazuhira/20150412/1428846124ここで、@Typedアノテーションを使ってBeanを限定することができるということを教えていただきました。で、これについて…
CDIを使うと、Client Proxy(擬似スコープの場合は拡張されたクラス?)がインジェクションされて(もしくはBeanManagerなどから取得)、それを使うことはわかりましたが、次に気になることとしてインターセプターのかかり方があります。なにかというと、Cli…
Java EEで遊ぶ時、WildFlyにデプロイ、もしくはArquillianを一緒に使うか、自分でEmbedded Tomcatのインスタンスを作ってそこで動かすことが多いのですが、そういえばArquillianにもTomcatのサポートがあったなと思い、こちらも使ってみることにしました。Ar…
CDIをちょっとずつ見ているのですが、個人的にどうしても引っかかるのが@Dependentというスコープ。少し調べてみると見かけるのは、 擬似スコープと呼ばれる インジェクション先のライフサイクルに準ずる といった説明なのですが、個人的にはちょっと得体の…
あまり理解しないまま使っているCDIですが、最近ちょっと気になり出すところがありまして、少しずつ見ていこうかなぁという気になりました。こういうの、自分で試してみないと覚えないので、すでに出ている内容でも気になったテーマは自分で書いていこうかな…
最近、ちょっと気になっているネタです。CDIでコンストラクタインジェクションがしたい、という話でちょっといろいろ試してみました。とりあえず、動作確認はJava SE、Weld SEで行うものとします。 Maven設定 pom.xmlの設定は、こんな感じ。 pom.xml
以前Undertow+JAX-RS+CDIという組み合わせで遊んだのですが、この時JAX-RSのリソースクラスをスキャンする人が誰もおらず、自分でクラスをひとつひとつ登録する羽目になりました。この時、Hammockというライブラリを教えてもらったのですが、こちらはそう…