java-JavaEE

P403 JAX-RSで最低限必要なクラス

Applicationサブクラス 作成するリソースクラスをRESTful Webサービスとして公開するためのクラス RESTサービスクラス(リソースクラス) RESTful Webサービス本体を定義するためのクラス JAX-RSでは1つ1つのリソースの操作を定義するクラスをリソースクラスと…

P401 JAX-RSの主な機能

1.HTTPメソッド/URIパターンとリソースメソッドとのバインド機能 @GET, @POST, @PUT, @DELETE, @Path, etc... 2.メッセージボディのデータ形式指定機能 HTTPコンテンツネゴシエーション[HTTPリクエストに応じて適した形式のレスポンスを返却すること]を行う…

P261 タイマー is not バッチ

タイマーをバッチ機能の様に利用するのはやめておいた方がいい。長期のトランザクション保持は、エラーが発生した際の影響範囲が大きくなりすぎるためである。 そのため、JavaEEの機能でバッチ機能を実現する場合は、JBatchなどを利用する方向で考えるべきで…

P257 キューとトピック

キューは送信元と受信先が1:1の関係になるが、トピックはn:mの関係になる。 保管できるメッセージの型に違いはない。 Java EE 7徹底入門 標準Javaフレームワークによる高信頼性Webシステムの構築 作者: 寺田佳央,猪瀬淳,加藤田益嗣,羽生田恒永,梶浦美咲,小田…

P241 セッションビーンの種類

-ステートレスセッションビー(@stateless) -ステートフルセッションビーン(@stateful) -シングルトン(@Singleton) -タイマー タイマーはEJBのメソッド単位で挙動を制御する。メソッドは、ステートレスもしくはシングルトンを選択できる。 Java EE 7徹底入門 …

P226 ディスポーザ

プロデューサメソッドとともに利用する。 @Disposesアノテーションを付与する事で、ディスポーザメソッドを定義できる。 プロデューサメソッドとディスポーザメソッドは同一オブジェクトを扱わなければならない。 (そのため、同じクラスにメソッドを定義する…

P223 プロデューサ

当機能を用いればインジェクションを動的にすることができる。例) [インジェクションされる側] @Inject private EntityManager em;[インジェクションするクラスを生成する側(プロデューサ)] public class EntityManagerProducer { private EntityManager em;…

P220 ステレオタイプ

@Stereotypeが定義されたアノテーションを利用する事で、 そのアノテーションに付与されている複数の属性をデフォルトの定義として利用できる様になる。 また、ステレオタイプによるアノテーション定義は、利用しているCDIビーン側で上書きする事もできる。J…

P210 CDI限定子を設計する際の名称について

限定子が限定子であることをはっきり区別できるようにしておく方がよい。 (説明はしてくれているが、自分の頭ではそれが以下の方法にしておくことでどう解決に結びつくのかぴんとこなかったので記載はしない) 具体的には、以下の方法で回避する方法を提案し…

P206 CDIの型解決方法

1.インジェクションポイントと対象インスタンスが1対1の場合(自動解決) 2.CDI限定子(@Qualifier)もしくはbeans.xml(@Alternative)で解決する方法Java EE 7徹底入門 標準Javaフレームワークによる高信頼性Webシステムの構築作者: 寺田佳央,猪瀬淳,加藤田益嗣,…

P204 CDI限定子

複数のインジェクション候補クラスが存在する場合に、クラスを特定するためのアノテーション 開発者が独自に定義するもの パッケージは独自定義でよい javax.inject.Qualifierアノテーションを利用するJava EE 7徹底入門 標準Javaフレームワークによる高信頼…