リファクタリング第1章のビデオレンタルシステムを
"そのまま" EJB2.0 & CMP で実装するとどうなるか
データソースおよびテーブル定義 | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
JBuilder7 Enterprise版 EJBデザイナ | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Price ローカルエンティティビーン | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Movie ローカルエンティティビーン | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Rental ローカルエンティティビーン | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Customer ローカルエンティティビーン | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
検証用 SystemClient ステートレスセッションビーン | ||||||||||||||||||||||||||
EJB環境変数 | ||||||||||||||||||||||||||
Homeインターフェース | ||||||||||||||||||||||||||
package refactor; import java.rmi.*; import javax.ejb.*; public interface SystemClientHome extends javax.ejb.EJBHome { public SystemClient create() throws CreateException, RemoteException; } |
||||||||||||||||||||||||||
Remoteインターフェース | ||||||||||||||||||||||||||
package refactor; import java.rmi.*; public interface SystemClient extends javax.ejb.EJBObject { public String test(String custname) throws RemoteException; } |
||||||||||||||||||||||||||
Beanクラス | ||||||||||||||||||||||||||
package refactor; import javax.ejb.*; import javax.naming.*; public class SystemClientBean implements SessionBean { SessionContext sessionContext; public void ejbCreate() throws CreateException { } public void ejbRemove() { } public void ejbActivate() { } public void ejbPassivate() { } public void setSessionContext(SessionContext sessionContext) { this.sessionContext = sessionContext; } /** * 検証用リモートメソッド */ public java.lang.String test(java.lang.String custname) { try { Context ctx = new InitialContext(); CustomerHome custhome = (CustomerHome)ctx.lookup("java:comp/env/ejb/Customer"); return custhome.findByPrimaryKey(custname).htmlStatement(); } catch(Exception ex) { throw new EJBException(ex); } } } |
[ 戻る ]