wayne

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

posted on 2008-09-12 22:24 waynemao 阅读(218) 评论(0)  编辑  收藏 所属分类: Java ee


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(1)

随笔分类

随笔档案

default

搜索

最新评论

阅读排行榜

评论排行榜