昨日発生していたサイトログインできない不具合は修正されております(詳細はこちら)

Java EE 7 エッセンシャル・レシピ #jdt22 のツイートまとめ #JavaDayTokyo

#jdt22 のツイートまとめ
0
Shigeyuki Azuchi @techmedia_think

Qualifierを自作する場合は命名もしくはパッケージでそれがQualifierであることを分かるようにしたほうがいい。 #JavaDayTokyo #jdt22

2015-04-08 14:34:47
そら @the_air_s

切り分けたいときは、そうなんだけど、実際は、後でどっちか選択したいって言うケースの方が多い(?)と思うんだけど、そっちの紹介はないのかしら。 #jdt22

2015-04-08 14:35:37
Yoshida Takafumi @zephiransas

イミュータブルにしたければ、コンストラクタ経由で #jdt22 #JavaDayTokyo

2015-04-08 14:35:58
Shigeyuki Azuchi @techmedia_think

インジェクトポイントはfinalにはできない。じゃあインジェクト対象をイミュータブルにするには? コンストラクタ経由でインジェクションする。 #JavaDayTokyo #jdt22

2015-04-08 14:37:25
Yoshida Takafumi @zephiransas

極力、DIは型に対しておこなうこと #jdt22 #JavaDayTokyo

2015-04-08 14:39:16
Shigeyuki Azuchi @techmedia_think

インジェクションポイントでNamedアノテーションを使うのは推奨されない。名前レベルでDIの解決をするのはコンパイルやデプロイは成功するけど実際に動作させた時にエラーになる可能性があるので推奨してないと。 #JavaDayTokyo #jdt22

2015-04-08 14:40:37
そら @the_air_s

あ、CDIのeventの使いどころ知りたいなぁ……。 #jdt22

2015-04-08 14:41:32
Shigeyuki Azuchi @techmedia_think

EE7からはデフォルトでCDIが有効に。ただCDIと認識されるものしかインジェクトできないようになった。bean-discovery-mode="all"にすれば可能だけど、コンテナ起動時に全クラスのスキャンが発生するので止めようと。 #JavaDayTokyo #jdt22

2015-04-08 14:42:48
Shigeyuki Azuchi @techmedia_think

インジェクトできるのは、NormalScopeアノテーションを継承した全スコープ、その他Dependent、Interceptor、Decorator、Stereotypeアノテーションが設定されたもの。 #JavaDayTokyo #jdt22

2015-04-08 14:43:58
そら @the_air_s

CDIさん、勝手にProxyにするのは良いんだけど、一部のアノテーションが消されるのは何とかしてほしい。きつすぎる。 #jdt22

2015-04-08 14:45:38
Shigeyuki Azuchi @techmedia_think

CDIのManagement Beanは実体のクラスをインスタンス化したものではなくCDIコンテナがコンテキスト情報を付加したProxyのインスタンスとして生成する。 #JavaDayTokyo #jdt22

2015-04-08 14:45:58
kbhrs @kbhrs_jp

#jdt22 #JavaDayTokyo 速すぎて濃密過ぎてメモをとるのを諦めて聴くのに集中する。資料公開に期待

2015-04-08 14:47:49
Shigeyuki Azuchi @techmedia_think

EE環境ではSingletonは使わない。Management Beanにはならないので、ApplicationScopedを使うこと。 これは以前ハマったなー。 #JavaDayTokyo #jdt22

2015-04-08 14:48:16
そら @the_air_s

紹介出てきた……(笑) #jdt22

2015-04-08 14:50:11
Shigeyuki Azuchi @techmedia_think

同じServiceに複数のバージョンを持たせたい場合、EE環境ではAlernativeアノテーションを付加して実現可能。どちらを採用するのかは、beans.xmlで選択したい実装を選ぶかPriorityアノテーションで指定する。 #JavaDayTokyo #jdt22

2015-04-08 14:51:42
Shigeyuki Azuchi @techmedia_think

ただ、Qualifierが付いてるクラスはAlternativeが有効にならない。 #JavaDayTokyo #jdt22

2015-04-08 14:52:05
そら @the_air_s

あれ?デフォルト値って必須じゃないっけ。 #jdt22

2015-04-08 14:53:30
Yoshida Takafumi @zephiransas

このデータベース選択の仕組み、ちょっと違うな… #jdt22

2015-04-08 14:54:58
hanizo @hanizo

ステレオタイプに指定しているものを忘れてしまう場合があると思ってしまう #jdt22

2015-04-08 14:56:10
プロペラパンダ @propellerpanda

アノテーション地獄になるから@Stereotypeでまとめる。#jdt22

2015-04-08 14:56:57
Shigeyuki Azuchi @techmedia_think

Stereotypeアノテーションで複数のアノテーションをセット作って、それを適用することができる。冗長的なアノテーションを各クラスに1つずつ書かなくて済む。 ただアノテーション地獄を避けるためにアノテーションのメタ化が進んでる気はする。 #JavaDayTokyo #jdt22

2015-04-08 14:57:31