Guice:ユニットテストでのSessionScoped、RequestScoped
SessionScopedやRequestScopedは非常に便利なのだが、それらを使ったコードをユニットテスト対象にできない。ユニットテスト上では、これらのスコープが存在しないからだ。以下のようなエラーが発生する。
1) ...Guice:Singleton、SessionScoped、RequestScopedのまぜこぜに気がつかない
SessionScoped、RequestScopedは便利な機能なのだが、うっかりこれをSingletonの中で使ってしまい。気が付かないことがある。これは厄介なバグの原因になりうる。サーブレットでもこれが発生しうる。
問題の ...GuiceのRequestScopedでDBコネクションプールをハンドリング
Guiceの@RequestScopedは非常に便利な機能で、同じ一つのリクエスト内であれば、どこでインジェクトしても同じオブジェクトが返される。この機能を利用してDBのコネクションプールをハンドリングできないかと考えた。
GuiceのSessionScoped
Guiceの@SesshonScopedを使うと、「セッション」ごとに同一のデータを保持することができる。
セッションとは?前提としてこのときの「セッション」というのは、いわゆるHttpSessionであり、つまりサーブレ ...
GuiceのモジュールにInjectする方法
Guiceのモジュールでは、そのconfigure内にバインディングを指定するようになっているのだが、この時点ではインジェクタが作成されていないために、何のオブジェクトもインジェクトできな ...
Guice/HK2ブリッジを使う
JerseyはHK2というDIフレームワークを使用しており、これは除去することはできない。一方で、使い慣れたGuiceを使いたい。なんとかJersey(JAX-RS)配下のオブジェクトにもGuice管理の依存性注入ができないもの ...
Guice:module java.base does not “opens java.lang” to module com.google.guice
Guice 4.2.2で以下のエラーが発生。AdoptOpenJDK12上だ。
もちろんこれは、Java9モジュールシステムの制限をGuiceが越えようとしているからだ。簡単な方策としては、モジュールの使用をやめること ...
Dagger2はJavaアプリ開発に使えないのか?
Guiceを長年使っているのだが、改めてDIライブラリまわりの状況がどうなっているのかを知りたいと調べてみると、Dagger2というのが見つかったのだが。。。しかし、これは使えない。使い方がわからない。さんざ ...
Guice configuration error
Guiceにて以下のようなエラーが発生した。
foo.bar.dispatch.rpc.shared.ServiceException: Guice configuration errors:1) Unable to cr ...Guiceの子インジェクタ
あるインジェクタの設定をすべて継承してそれを拡張する「子インジェクタ」というものを作成することができる。
基本的な使い方public class ChildOne { public interface A {} public s ...