EJB3 (3)
我想在遠程對象中調用本地對象,我嘗試這樣編寫代碼,首先創建一個本地接口:
@Local
public interface MessageLocal {

String getMessage();
}
接著編寫一個會話bean實現該接口:
@Stateless
public class MessageBean implements MessageLocal {

public String getMessage() {
return "Hello world";
}
}
然后創建一個遠程接口:
@Remote
public interface HelloRemote {

String welcome();
}
編寫一個會話bean實現該接口:
@Stateless
public class HelloBean implements HelloRemote {
@EJB
private MessageLocal messageBean;

public String welcome() {
return messageBean.getMessage();
}
}
在遠程對象里聲明了一個本地接口的引用,并嘗試在遠程方法當中調用本地接口的本地方法。這些都沒問題,打包部署成功。
<%
InitialContext ctx = new InitialContext();
HelloRemote helloBean = (HelloRemote)ctx.lookup(HelloRemote.class.getName());
out.println(helloBean.welcome());
%>
在遠程客戶端的代碼如此,看起來一切正常,不過在部署WEB模塊的時候報異常:正在域中部署應用程序 失敗;為模塊 [EjbWebClient] 裝入部署描述符時出錯 -- Cannot resolve reference Unresolved Ejb-Ref ejb.HelloBean/messageBean@jndi: @null@ejb.MessageLocal@Session@null






接著編寫一個會話bean實現該接口:








然后創建一個遠程接口:






編寫一個會話bean實現該接口:










在遠程對象里聲明了一個本地接口的引用,并嘗試在遠程方法當中調用本地接口的本地方法。這些都沒問題,打包部署成功。





在遠程客戶端的代碼如此,看起來一切正常,不過在部署WEB模塊的時候報異常:正在域中部署應用程序 失敗;為模塊 [EjbWebClient] 裝入部署描述符時出錯 -- Cannot resolve reference Unresolved Ejb-Ref ejb.HelloBean/messageBean@jndi: @null@ejb.MessageLocal@Session@null
posted on 2008-09-12 22:24 waynemao 閱讀(232) 評論(0) 編輯 收藏 所屬分類: Java ee