2012-06-23 86 views
0

IM編程項目和IM嘗試應用多層架構。 現在香港專業教育學院有2 EJB,業務和持久性和共享的罐子。由於功能需求,持久性必須是可替換的。我做了一個名爲IPersistence的接口。 後來我裝箱所謂的「持久性」的持久性EJB內部的遠程會話bean,並把遠程接口中的共享庫。現在,我需要使用業務注入來調用IPersitence。我怎樣才能做到這一點?也許整個想法是錯誤的。我需要一些建議。如何實現從遠程無狀態會話bean的接口?

謝謝!

+1

做過,對不起...... –

回答

1

下面是一個簡單的例子,你有車庫/ DAO通過,如果它被保存在一個數據庫中,文件中未暴露從業務邏輯抽象的持久性,XML等業務類,然後注入一個實例是能夠 - 在這種情況下 - 保存到數據庫。然而,你可能已經作出實施CarRepository併爲您的應用程序中保存數據,而無需觸摸你的代碼的其他部分提供其他方式的其他類。

持久層

接口庫/ DAO

@Local 
public interface CarRepository { 
    List<Car> findAllCars(); 

    // Many other methods 
} 

庫(域驅動設計)或數據訪問對象

@Stateless 
public class CarSqlRepository implements CarRepository { 

    @PersistenceContext(unitName = "MyUnit") 
    private EntityManager entityManager; 

    public List<Car> findAllCars() { 

    } 

    // Many other methods 
} 

服務/業務層

@Stateless 
public class CarService { 

    @Inject 
    private CarRepository carRepository; 

    public List<Car> findAllCars() { 
     return carRepository.findAllCars(); 
    } 

    // Many other methods 
} 
相關問題