我没有实际用过EJB。
session bean应该是在EJB容器中运行的吧。
我不确定它是否实现了serializable接口。
而且通过网络传送实例以后它还在EJB容器里吗?还能正常使用吗?不知道你是不是这个意思。
如果只是单纯的远程调用,那么EJB本来就是基于rmi-iiop的,为什么还要用socket呢??

解决方案 »

  1.   


    如果socket 服务程序和Session bean(weblogic)在同一个进程中(两边能够相互访问到),问题就好解决了。如果socket当前作application
    来启动,但是session通过web方式来启动,问题就不好解决了。socket 服务程序能够通过JNDI来取Session bean,然后传值。如果楼主是想放弃JNDI,而采用自己写的socket来取,那就麻烦了。
      

  2.   


    如果socket 服务程序和Session bean(weblogic)在同一个进程中(两边能够相互访问到),问题就好解决了。如果socket当前作application来启动,但是session通过web方式来启动,问题就不好解决了。socket 服务程序能够通过JNDI来取Session bean,然后传值。如果楼主是想放弃JNDI,而采用自己写的socket来取,那就麻烦了。
      

  3.   

    socket可用调用EJB。它调用EJB时,和java客户端调用EJB的步骤是一样的。
      

  4.   

    谢谢,socket 调用EJB和java客户端调用EJB的步骤是一样吗?是否打开weblogic,用lookup()?
      

  5.   

    socket和EJB间的通信恐怕意义不大,socket之间和EJB之间的通信比较常用。如果你一定要用socket调用EJB的话,就把socket当做客户端就行了,你测试一下,应该可以。
      

  6.   

    1.socket 调用EJB和java客户端调用EJB的步骤是一样吗?
       是一样的,没有什么差别
    2.是否打开weblogic,用lookup()?
      肯定要打开weblogic,也肯定是用lookup。3.JNDI调用EJB例子weblogic自带有。