当前位置: 首页 > 面试题库 >

RMI响应非常慢

赵明亮
2023-03-14
问题内容

我正在使用Java远程方法调用(RMI)测试Web应用程序。当我通过加密狗,宽带连接到Internet时;RMI需要很长时间才能响应请求。完成方法调用大约需要10秒钟。我还可以看到,一旦进行方法调用,互联网连接中的数据传输速率就会提高。因此,显然,它似乎正在通过外部网络在两个内部进程之间建立RMI连接。

与互联网断开连接后,它的响应变化很快,例如几毫秒。我的/ etc / hosts文件具有127.0.0.1
localhost的条目。我总是在naming.lookup的方法调用URL中使用127.0.0.1。但是无法弄清楚当我连接到Internet时如何使计算机快速响应RMI呼叫。有什么建议?


问题答案:

您的问题不是用于RMI注册表的查找调用的地址,而是URL中的地址是查找调用的结果。这默认为系统上第一个接口的IP地址,因此我的猜测是,当您连接到Internet时,它就是您的外部连接。

我认为正在发生的事情是您在127.0.0.1上调用RMI注册表,这将使Internet地址返回所需服务的位置,因此RMI调用将通过加密狗接口路由出去。

您需要设置的java.rmi.server.hostname属性来告诉RMI注册主机名或IP地址在其RMI的URL返回的。

因此,您将需要以下内容:

String ipAddress = "10.1.2.3"; //Local IP address 
System.setProperty("java.rmi.server.hostname",ipAddress);

要么

String hostname = "myserver"; //hostname that resolves for a local address
System.setProperty("java.rmi.server.hostname",hostname);


 类似资料:
  • 问题内容: 首先,这个问题看起来像是 SOAP响应非常大-Android-内存不足错误 主题。 由于我的英语能力很弱,并且这个问题很相似,为了便于理解,我复制了一些陈述段落。 我有一个需要通过SOAP调用将大量数据下载到Web服务的应用程序。然后将响应发送到显示XML文件的函数。 数据大小超过11MB,并且每次都有 java.lang.OutOfMemoryError 。 修改Web服务以提供较少

  • 我正在尝试用JMeter学习负载测试(非常新)。使用该教程在JMeter网站和另一个youtube教程上构建一个Web测试计划,我创建了一个HTTP GET请求来访问www.google.com/,但是我得到了以下结果: 这是我的要求:链接到图像,因为我还没有10个声誉 环顾四周,其他人正在遇到此问题,但他们的问题是在 250 个用户之后: 响应代码: 非 HTTP 响应代码: java.net.

  • 我有一些麻烦的组件有一个非常大的表单,所以这个页面处理UI事件,如点击和焦点非常非常慢,你必须等待大约3秒后,按钮点击,以获得UI响应。我正在使用Blazorise进行更快的表单开发,并提供了验证和输入。对于我如何监控或排除此情况,您有什么建议吗?因为执行业务逻辑和数据库查询的代码非常快,所以这是一个与UI相关的问题。 谢谢!

  • 我构建了一个基于文件下载器RMI客户端-服务器的应用程序。在这方面,我不了解不同客户端的工作。文件位于服务器端,RMI在其一侧有等效的代理服务器(称为存根)。我为这个应用程序使用了10个客户端和1个服务器。 问题1-我的问题是当多个客户端在从注册表查找后同时进行RMI调用时,客户端以什么顺序为他们播种/提供文件?意味着底层服务算法---? 我无法理解这一点,当我执行代码时,我只看到相应的文件正在同

  • 要编写RMI Java应用程序,您必须按照以下步骤操作 - 定义远程接口 开发实现类(远程对象) 开发服务器程序 开发客户端程序 编译应用程序 执行应用程序 定义远程接口 远程接口提供特定远程对象的所有方法的描述。 客户端与此远程接口通信。 要创建远程接口 - 创建一个扩展属于该包的预定义接口Remote的接口。 声明此接口中客户端可以调用的所有业务方法。 由于远程调用期间可能存在网络问题,因此可