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

Javaで主にシステム開発をしながら思うところをツラツラを綴る

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の開始・終了…