Jboss5上访问EJB时出错

1、**ejb not bound

在网上找到一个解释,解决了问题。如下:

异常信息:javax.naming.NamingException:**ejb not bound ...
问题原因:
    因为客户端按照ejb的JNDI名称远程查找时,没有找到对应名称的EJB组件。通常我们lookup时用的ejb名称是这样的 ejbname/remote,可是有时候我们用这样的名字来lookup组件时却找不到。其实在Jboss下发布EJB组件根据你发布的方式不同你的 EJB组件的名字是不同的。
    当你用ear形式发布工程时你的EJB名称需要带有工程名,像这样:工程名/ejbname/remote的形式。
    当你用jar形式发布工程时,EJB查找名是不需要带有工程名做前缀的。只要:ejbname/remote 这一部分即可。


2、javax.naming.NameNotFoundException: Remote not bound

郁闷了很久,竟然是JNDI名称写错了,写成了:

questionService = (QuestionService)ctx.lookup("CProject/QuestionServiceBean/Remote");

把remote的第一个字母大写了!

 

3、java.lang.reflect.UndeclaredThrowableException
   java.io.NotSerializableException

这个是由于实体Bean没有继承可序列化类引起的。

posted @ 2010-04-03 21:26  MikeLin  阅读(1433)  评论(0编辑  收藏  举报