2012/04/28

AWS Java SDK用のGuice Provider

AWS Java SDKに含まれるクライアントはすべてThread-Safeであり、クライアントを再利用すべきです。もちろん自前でClientを保持するクラスを書いても良いのですが、GuiceによるDIを使っているのであればProviderを定義するのがオススメです。

AWS SDKはもともとインタフェイスが定義されているので、そのインタフェイスに対してGuiceのProviderを定義し、共有クライアントをProvider内で管理します。クライアントを使う部分では、下記のように注入するだけなので、コードの見通しが非常に良くなります。

@Inject
AmazonDynamoDBAsync client;

もしくは

@Inject
Provider<AmazonDynamoDBAsync> clientProvider;

Provider自体はすぐに書けるコードなのですが、再利用性が高そうなのでgithubで公開しました。

参考URL

0 件のコメント:

コメントを投稿