リファクタリング第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); } } }  | 
    
[ 戻る ]