我在本地 glassfish 服务器上运行了两个应用程序。一辆租自行车,一辆买火车票。我现在想从火车应用程序中调用远程 ejb,以允许在所选时间租用自行车,但我不确定该怎么做。我已经尝试了几种不同的方法。两个应用程序都在不同的包中,火车应用程序必须知道自行车远程接口,但我不知道如何实现。
远程界面(自行车应用):
@Remote
public interface FahrradRemote {
public List<Fahrrad> findAvaible(Date start, Date end);
public void addAuftrag(Fahrrad fahrrad, Date startDate, Date endDate);
public boolean login(String name, String passwort);
}
我想调用的自行车 EJB:
@Stateless(name="FahrradService",mappedName="FahrradService")
public class FahrradService implements javax.ejb.SessionBean, FahrradRemote, Serializable {
@PersistenceContext
private EntityManager em;
Kunde customer;
...
}
火车应用程序的开始:
@Named
@SessionScoped
public class BahnPM implements Serializable {
private String startStation;
private String zielStation;
private String loginName;
private String loginPasswort;
private String customerName;
private String startDateString;
private Date startDate;
private List<Fahrt> available;
private List stations;
@EJB
private BahnService service;
@EJB(mappedName="FahrradService")
private static FahrradRemote fahrradService;
public BahnPM() {
}
...
}
我得到的错误是找不到类的异常,我可以理解,因为它是一个不同的应用程序,我的火车应用程序不知道“FahrradRemote”,但我怎样才能注入那个 EJB?