システム開発で思うところ

Javaで主にシステム開発をしながら思うところをツラツラを綴る。主に自分向けのメモ。EE関連の情報が少なく自分自身がそういう情報があったら良いなぁということで他の人の参考になれば幸い

CDI

Loggerファイルの初期生成と破棄

CDI

vermeer.hatenablog.jp ちょっとだけ 忘れないようにしておきたいトピックがあったので そこだけの抜粋です。 アプリケーションを経由してログ出力をすると hoge.log.lckというファイルが残ってしまうので 能動的にCloseする必要があります。 参考としては …

NonexistentConversationExceptionからの画面遷移

vermeer.hatenablog.jp と vermeer.hatenablog.jp の続きです。 今回はNonexistentConversationExceptionからの画面遷移を考えます。 やりたいこと(妥協もあり) NonexistentConversationExceptionからの会話開始画面へ遷移する 状態管理は不可 メッセージ…

BusyConversationExceptionからの画面遷移

vermeer.hatenablog.jp の続きです。 前回は、強制的に会話スコープの開始ページに遷移するという仕様としましたが、正直 これは 私の求めている機能ではありません。 それぞれの例外に対して、目指す振る舞い(できる処理)が異なるので まずは BusyConvers…

BusyConversationException、NonexistentConversationExceptionからの画面遷移

vermeer.hatenablog.jp に続けて vermeer.hatenablog.jp でも、一旦 保留とした BusyConversationExceptionが発生した場合の制御です。 実行時例外はエラー画面へ遷移させるというのが基本原則だとは思いますが、コミットした情報(例えば注文)について把握…

ConversationScopedを扱うにあたっての課題

もしくは、JSFのConversationScopedをフォルダでBegin・Endの方式見直しに向けて。 あるいは、ConversationScopedにおけるExceptionハンドリング です。 vermeer.hatenablog.jp で、f:viewActionで制御をしていたのですが、テンプレートを使って 同じことを…

JSFとCDIとBeanValidationで想定外だったこと

そもそも「いや、それJSFだと亜流ですので」って終わりそうな話だと思いますが、誰かの何かに役立つかもしれないので。 環境 Payara5 Java EE7 Java8 事象 コンテナ(CDI)で生成したインスタンスのフィールドってnullなんだ。。アクセッサ経由じゃないと値…

JSFで2重Submit対策(続)

前回やっていないこととした「入力画面まで戻ったFormの更新抑止」について対応をしてみました。 vermeer.hatenablog.jp やっていないことで2つ目に挙げた案である immediate を使うやり方です。 出来れば xhtmlに手を加えないやり方の方が良いかなぁ、と思…

JSFで2重Submit対策

一般的な2重Submitは、hiddenで保持したトークン と サーバのセッションで保持しているトークンを比較する、というやり方だと思います。 さいきょうの二重サブミット対策 - Qiita これは、これで正しいと思いますし、多くの人が知っているであろう やり方な…

JSFのConversationScopedをフォルダでBegin・End

vermeer.hatenablog.jp この記事で、やろうと思っていたことの お試し実装。 やりたいこと あるページから遷移したときに、遷移前と遷移後のフォルダが異なる場合、ConversationをBeginする。 フォルダから離脱するときにConversationをEndする。 Conversati…

JSFで自動Redirect

JSFをちょっと便利にする仕組み はじめに JSFで遷移先を指定するときに、return xxx.xhtml と記述します。 リダイレクトしたい場合は return xxx.xhtml?faces-redirect=true と記述します。 というか、リダイレクトしないことは皆無に近しいので、必ず記述し…

CDIのメモ

全般 パーフェクトJava EE (Perfect series) [ 井上誠一郎 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > その他ショップ: 楽天ブックス価格: 3,456円 JavaEE7をはじめよう(13) - インジェクション候補が複数ある場合の対処方法 - エンタープライズ…

Presentationのスコープについて

Presentation層におけるスコープについて @ConversationScoped 画面操作に関するスコープとして、また その考察 実装イメージ 開始ポイントを必ずindex.xhtmlにする。 ファイル名を除くフォルダパスが変更されるタイミングを@ConversationScopedの開始・終了…