当前位置: 首页 > 知识库问答 >
问题:

无法使用客户端类在同一台计算机上调用ejb

越胤
2023-03-14
package com.brainysoftware.ejb;

import java.rmi.RemoteException;

import javax.ejb.EJBObject;

public interface Adder extends EJBObject{
    public int add(int a,int b) throws RemoteException;

}
package com.brainysoftware.ejb;

import java.rmi.RemoteException;

import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;

public class AdderBean implements SessionBean{
    public int add(int a, int b){
        System.out.println("From AdderBean");
        return (a+b);
    }

    @Override
    public void ejbActivate() throws EJBException, RemoteException {
        // TODO Auto-generated method stub

    }

    @Override
    public void ejbPassivate() throws EJBException, RemoteException {
        // TODO Auto-generated method stub

    }

    @Override
    public void ejbRemove() throws EJBException, RemoteException {
        // TODO Auto-generated method stub

    }

    @Override
    public void setSessionContext(SessionContext arg0) throws EJBException,
            RemoteException {
        // TODO Auto-generated method stub

    }
}
package com.brainysoftware.ejb;

import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;

public interface AdderHome  extends EJBHome{
    Adder create() throws RemoteException, CreateException;
}
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="3.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd">
  <description>Your first EJB application</description>
    <display-name>Adder Application</display-name>
    <enterprise-beans>
     <session>
      <ejb-name>Adder</ejb-name>
      <home>com.brainysoftware.ejb.AdderHome</home>
      <remote>com.brainysoftware.ejb.Adder</remote>
      <ejb-class>com.brainysoftware.ejb.AdderBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Bean</transaction-type>
     </session>
    </enterprise-beans> 
 </ejb-jar> 

导入java.rmi.RemoteException;导入java.util.properties;导入javax.ejb.createException;导入javax.naming.context;导入javax.naming.InitialContext;导入javax.naming.namingException;导入com.brainysoftware.ejb.adder;导入com.brainysoftware.ejb.AdderHome;导入javax.rmi.PortableRemoteObject;

公共类BeanClient{public static void main(String[]args){Properties props=new Properties();props.put(context.initial_context_factory,“org.jnp.interfactory”);props.put(context.provider_url,“localhost:1099”);try{InitialContext jnic=new InitialContext(props);system.out.println(“获取上下文”);Object ref=jnic.lookup(“Adder”);

在eclipse中执行该类时,我得到以下错误:

获取上下文javax.naming.CommunicationException:无法获得到以下任何URL的连接:localhost:1099,发现失败,错误为:javax.naming.CommunicationException:接收超时[根异常为javax.naming.SocketTimeoutException:接收超时][根异常为javax.naming.CommunicationException:无法连接到服务器localhost:1099[根异常为javax.naming.ServiceUnavailableException:无法连接到服务器localhost:1099[根异常为java.net.ConnectException:连接拒绝:connect]]]

你能帮我解决这个问题吗?

暂时还没有答案

 类似资料:
  • 我的计算机上安装了Python 3.7。我想使用tensorflow,但刚刚发现它基本上不支持3.7,所以我想(也)安装Python 3.6。 有什么建议吗?我是否必须卸载3.7并将其替换为3.6,或者是否有办法仅将3.6用于与tensorflow相关的内容?

  • ServerSocket是来自Java.NET API的ServerSocket normal Socket是来自Java.NET API的Socket 是的,这里的ServerSocket是指建立连接后从ServerSocket.Accept返回的套接字

  • 问题内容: 我的计算机上安装了Python 3.7。我想使用tensorflow,只是发现它基本上不支持3.7,所以我想(也)安装Python 3.6。 关于如何做到这一点的任何建议?我是否必须卸载3.7并将其替换为3.6,或者是否可以仅将3.6用于与tensorflow相关的东西? 问题答案: 使用多个虚拟机来安装多个python的建议方法之一是使用Virtualenv。这使您有可能拥有一个特定

  • 我的设置。我有三台PC:MyComp,Server1和Server2,两个类似的脚本使用调用命令RemTest1.ps1,它在远程Server1上调用RemTest2.ps1。RemTest2 使用 invoke-command 在 Server2 上运行脚本块。我使用的是Powershell版本5.1当我运行脚本从MyComp到Server1时,它工作正常。当我从Server1运行到Server

  • 我正在尝试使用python中的selenium来使用javascript刮取一些动态页面。但是,在我遵循pypi页面上的selenium指令之后,我无法调用firefox(http://pypi.python.org/pypi/selenium).我在AWS ubuntu 12.04上安装了firefox。我收到的错误消息是: 我在网上搜索了一下,发现这个问题发生在其他人身上(https://gr

  • 问题内容: 在Java中,可以创建套接字服务器和套接字客户端,是否可以运行套接字服务器的实例以及从同一台计算机上的套接字服务器接收数据的套接字/服务器客户端? 例如,套接字服务器在端口60010上运行,套接字客户端在通过套接字连接到该端口的同一台计算机上运行,​​还是我需要一台新计算机并将其添加到网络中?如果它在TCP / IP层上运行时具有唯一的IP地址和端口号。 问题答案: 这是一个简单的可运