Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session 独立EJB客户端本地无状态会话bean查找_Session_Ejb_Javabeans - Fatal编程技术网

Session 独立EJB客户端本地无状态会话bean查找

Session 独立EJB客户端本地无状态会话bean查找,session,ejb,javabeans,Session,Ejb,Javabeans,根据我的引用,@localsessionbean可以在部署bean的同一JVM下访问(客户机和服务器运行在同一JVM上) 我已经实现了一个简单的无状态本地会话bean,并部署在我的GlassFish服务器中(也在JBoss服务器中进行了尝试) 我的独立客户端查找会话bean,但是这个本地会话无法访问。我也尝试过使用@Remote,它可以访问 至此,服务器和客户端都在同一个/单个JVM(在我的机器上)中运行 是否可以从独立客户端应用程序访问本地会话bean?有什么具体的访问方式吗 我的代码是: 无

根据我的引用,@localsessionbean可以在部署bean的同一JVM下访问(客户机和服务器运行在同一JVM上)

我已经实现了一个简单的无状态本地会话bean,并部署在我的GlassFish服务器中(也在JBoss服务器中进行了尝试)

我的独立客户端查找会话bean,但是这个本地会话无法访问。我也尝试过使用@Remote,它可以访问

至此,服务器和客户端都在同一个/单个JVM(在我的机器上)中运行

是否可以从独立客户端应用程序访问本地会话bean?有什么具体的访问方式吗

我的代码是:

无状态本地会话bean

@Stateless
public class TicketBookingImpl implements TicketBookingLocal {    
   public String doBooking(String name) {
      return "Ticket Booked for " + name;
   }
}
查找代码

public static void main(String[] args) {
    try {
        Properties props = new Properties();
        props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
        props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
        props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");    
        props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
        props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
        final Context context = new InitialContext(props);
        System.out.println("Doing lookup");
        TicketBooking ticketBooking = (TicketBooking) context.lookup("java:global/ejb-work-1/TicketBookingImpl");

不幸的是,您只能在同一部署单元(通常是ear)中使用本地接口

您必须在两种情况下使用远程接口:

  • 客户端不在同一部署单元中
  • 在集群环境中
有关本地/远程接口使用的更详细建议,请查看此链接: