ローカルのグラスフィッシュ サーバーで 2 つのアプリケーションを実行しています。1 つは自転車をレンタルするためのもので、もう 1 つは電車の切符を購入するためのものです。列車のアプリケーションからリモート 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 を挿入するにはどうすればよいですか?