JavaとJavaEEプログラマのブログ

JavaEEを中心にしたをソフトウェア開発についてのブログ

2012-10-01から1ヶ月間の記事一覧

GlassFish4でWebsocket〜JSR 356〜

JSR 356 はJavaEE7で策定されるWebSocketを利用するための標準API。 そのEarly Draftを使って、NetBeansでサンプルを動かしてみる。参考: http://orablogs-jp.blogspot.jp/2012/10/websocket-applications-using-java-jsr.html http://jcp.org/en/jsr/detai…

JavaEE6入門〜Message Driven Bean〜

Message Driven Bean略してMDBはJMS(JavaMessaeService)を利用して非同期処理を実現する仕組み。JMSの配信モデルは次の二種類。 Queueを使って送信側(プロデューサー)と受信側(コンシューマー)が一対一で送受信を行うP2P(Point to Point)モデル Topicを使っ…

JPAが発行するSQLが予約語とぶつかったときのエラー

Orderエンティテイーを作り、テストケースでデータをinsert仕様とすると以下のエラーが出た。原因はDerbyの予約語に"ORDER"が存在するため。 Orderクラスの@Entity を @Entity(name="ORDER_Product")に修正して解決。Derbyの予約語一覧 Testcase: testInsert…

未使用のimportやワイルドカード指定のimportがあるとコンパイル時にエラー。

importを編成して不要なimportを削除する。

の設定が無い場合のエラー

テストケースの実行が不定期に失敗する時に発生しているエラー。 JPAがEntityクラスの読み込みに失敗しているらしい。 persistence.xmlにタグで使用するEntityクラスを指定してやると解決。 タグの追加はEntityクラスの新規作成ウィザードを使えばNetBeansが…

persistence.xmlのが実行環境とテスト環境で異なっている場合のエラー。

エンティティクラスがis not a known entity type.と指摘されている。 エンティティクラスをタグで設定しても良いが、persistence.xmlのを実行環境とテスト環境で同じにするのが根本的な解決。実行環境とテスト環境の切り替えはを変えて行わずに、mavenなど…

JavaEE6入門〜JSF2.0 Ajax〜

詳細はこちら。 JSF 2.0 の Ajax 対応はとてもかんたんタグを使って、Ajaxの対象となるイベントやレンダリング対象を指定するだけ。jQueryと連携したい場合はこちらを参照。JSF2.0に付属しているjsf.jsを使って連携を行う。 jQuery UI ダイアログとJSF2.0の…

JavaEE6入門〜JSF2.0 カスタムコンバータとバリデータ〜

画面の入力値をStringから他の型へ変換するのがコンバータ。 <h:inputText value="#{myBookController06.book.price}" > <f:convertNumber /> <f:validateLength minimum="2" maximum="20" /> </h:inputText> <td> </td>

JavaEE6入門〜JSF2.0 デザイナーとの共同作業〜

例によって詳しくはhttp://yoshio3.com/2012/08/24/detail-of-jsf20/ を参照。デザイナーにはXHTMLでデザインをしてもらえば、プログラマはHTMLタグにjsfc属性を追加するだけでOK。 最近増えてきたBootStrapなどのHTML5ベースのCSSフレームワークでデザイン…

EJB3.1入門〜セキュリティ〜

JavaEEではユーザーの認証、認証されたユーザーがどのようなロールを認可されるかという設定は全てサーバーが管理する。 そのため、EJBのセキュリティ設定は、使用可能なロールの設定と、そのロールに対して、どのEJBやメソッドにアクセス許可を与えるかを設…

EJB3.1入門〜トランザクション〜

1メソッドを1トランザクションとして扱う。 メソッドの開始直前にトランザクションが始まり、メソッド終了直後にコミットされる。トランザクションがロールバックされるのは以下の場合。 メソッド内からシステム例外(RemoteExceptionかRuntimeExceptionの…

EJB3.1入門 〜リモートインターフェースなど〜

EJBにリモートインターフェースを付け加えると、EJBコンテナが実行されているサーバーの外からEJBをリモート呼び出しすることが可能になる。 リモートインターフェース等のインターフェースが無いEJBはサーバー内からのローカル呼び出しのみに対応する。 ひ…

EJB3.1入門 〜EJBは三種類〜

ステートレス・セッションBean は、クライアントごとに内部状態を保持しないインスタンスがEJBコンテナから提供される。 ステートフル・セッションBeanは、クライアントごとに内部状態を保持できるインスタンスがEJBコンテナから提供される。 シングルトン・…

JPA2.0入門 〜JPA2.0を使ったデータ操作はEntityManagerクラスのみを使う〜

データ操作はすべてEntityManagerを使って行う。EntityManagerで主に使用するメソッドは次のとおり。 検索(遅延ロードポリシーに基づいて各プロパティを初期化。検索対象が無い場合はnullを返す):find() 検索(検索対象が無い場合は例外を返す):getReferenc…

JPA2.0入門 〜JPA2.0を使った、爆速RDB設計〜

事前準備 NetBeansをインストール。 http://netbeans.org/downloads/index.html?pagelang=ja からNetBeans7.2のJavaEEバンドル版をダウンロードしてインストール。 インストール時のウィザードでJUnitとGlassFishもインストールする。 NetBeansでDBを作成 サ…

JavaEE6の学習方法

Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION)作者: Antonio Goncalves,日本オラクル株式会社,株式会社プロシステムエルオーシー出版社/メーカー: 翔泳社発売日: 2012/03/09メディア: 大型本購入: 5人 クリック: 1…

昔のJavaEEアプリとJavaEE6アプリの個人的な比較イメージ。

昔のJavaEEアプリ "継承"を使いこなすのがオブジェクト指向の神髄といった、今から思えば妙な流行があったのせいか、EJB2.1やStrutsなど"継承"を中心にしたモデルやフレームワークが人気を誇った。 しかし、"継承"を中心としたモデルは以下の理由で破綻。 設…