草庐IT

java - 如何确保 RMI 仅使用一组特定的端口?

在我们的应用程序中,我们以非常不同的方式使用RMI进行客户端-服务器通信:将数据从服务器推送到客户端进行显示。将控制信息从客户端发送到服务器。从那些从服务器返回到客户端的控制消息代码路径的回调(边栏注释-这是一些遗留代码的副作用,不是我们的长期意图)。我们想要做的是确保我们所有与RMI相关的代码将仅使用已知的指定端口list。这包括注册表端口(通常预期为1099)、服务器端口和回调产生的任何端口。这是我们已知的:LocateRegistry.getRegistry(1099)或Locate.createRegistry(1099)将确保注册表正在监听1099。使用带有端口参数的Unic

java - RMI和CORBA的区别?

我正在为期末考试学习,有几个关于RMI和CORBA的问题。这些是从学习指南中提取的讨论问题,因此没有真正的应用背景。为什么RMI和CORBA基于TCP?问题说明要根据调用语义来回答。到目前为止,我的想法是TCP将比UDP更可靠,而在RMI/CORBA中,我们需要网络可靠性。我还在某处读到TCP深深嵌入了nativeJava网络类中。我对这个说法没有信心,因为CORBA可以用任何语言实现。讨论RMI和CORBA名称服务之间的区别。我对这个问题有点困惑,因为到目前为止我读到的是RMI和CORBA是融合技术,RMI可以访问CORBA对象。我现在的理解是,名称服务似乎非常相似,任何差异都不值得

java - 具有大量实体的 Ehcache/Hibernate 和 RMI 复制

我目前正在研究如何在ehcache中使用RMI分发选项。我已经正确配置了ehcache.xml并且复制似乎工作正常。但是我有两个问题:->似乎ehcache/hibernate为每个实体创建了1个缓存。这很好,但是当复制到位时,它会创建1个线程/缓存来复制。这是预期的行为吗?由于我们的域很大,它创建了大约300个线程,这在我看来确实很大->另一个令人讨厌的后果是心跳消息似乎聚合了所有这些缓存名称。据我所见,该消息应适合1500字节,但事实并非如此,这导致我的日志中出现以下消息:Heartbeatisnotworking。为复制配置更少的缓存。大小为1747,但不应大于1500。关于如何

java - 是否有像 SoapUI 那样用于 Java RMI 测试的工具用于 Web 服务?

我正在寻找可以连接到RMI服务并显示结果的(GUI?)工具。有点像SoapUI如何允许您指定WSDL、生成测试输入并执行调用。我想指定一个RMI目标(即rmi://server:port/package/class.method(parameters,...))并测试RMI调用。如果它可以保存测试参数并在以后重复测试,那么我就可以将测试提供给QA了。有这样的工具吗? 最佳答案 根据Segphault的建议,您应该查看http://www.itko.com/products/java.jsp.您也可以尝试来自here的JMeterRM

java - 还需要 rmic 吗?

java1.5或更新版本不需要rmi接口(interface)编译器,只编译用javac定义UnicastRemoteObject的java文件就足够了吗?Rmic仍然有效,如果你给它,它会生成一个stub类文件远程对象实现的类文件。 最佳答案 根据RMI教程:http://download.oracle.com/javase/tutorial/rmi/overview.htmlCompilingSourcesAswithanyJavaprogram,youusethejavaccompilertocompilethesourcef

java - 为什么 GC 每小时运行一次?

我们观察到完整垃圾回收(GC)通常每小时执行一次。检查了JreMemoryLeakPreventionListener的时间间隔。它被设置为Long.MAX_VALUE。尽管gc每小时运行一次。还观察到GC称为hourlybasis是显式GCGC日志:2016-10-15T23:23:09.341-0400:165558.099:[GC(System.gc())[PSYoungGen:264601K->5865K(1357312K)]389672K->130937K(4153856K),0.0075210secs][Times:user=0.07sys=0.00,real=0.00se

java - 将 Ruby on Rails 项目转换为 JRuby on Rails 项目

有什么特别的方法可以将RubyonRails项目转换为JRubyonRails项目吗?现在需要让Rails端通过RMI与Java服务器对话,所以想知道如何进行转换。谢谢。 最佳答案 正如@Karl所说,它非常有效,但您应该注意一些注意事项:数据库适配器将与您可能习惯的不同。它们基于JDBC.例如,MySQL适配器安装描述为here您通常会在生产环境中部署到Java应用程序服务器,例如Glassfish,Tomcat或Jetty.通常这是使用Warbler完成的某些具有native扩展的gem可能无法工作。参见here有关所需内容的详

java - 使用单个 RMI 注册表

我一直在为我目前正在从事的项目使用RMI,我想从多个主机绑定(bind)到单个RMI注册表。但是,当我尝试这样做时,出现错误消息java.rmi.AccessException:Registry.Registry.bind不允许;origin/192.168.0.9是非本地主机我在谷歌上搜索了一下,似乎RMI默认会阻止远程主机绑定(bind),我想知道有什么方法可以覆盖或绕过它吗?如果有人对如何解决这个问题有任何建议,他们将不胜感激,我已经尝试使用不同的策略文件并覆盖安全管理器,但似乎都没有用。 最佳答案 有一种方法可以绕过该限制,

java - 使用 Eclipse 构建 Java RMI 应用程序(如何做 rmic)

我正在尝试开发一个JavaRMI应用程序,发现告诉eclipse使用rmic编译它并不直接。是否有任何可用的插件(如果有,您推荐哪个)?或有什么方法可以做到这一点?谢谢。 最佳答案 从Java5开始,不需要使用rmic工具,因为stub现在是动态生成的。我建议遵循更新的教程,该教程更适合Java5或更高版本的RMI实现。关注RMIGuideforJava5应该给你一个体面的开始。 关于java-使用Eclipse构建JavaRMI应用程序(如何做rmic),我们在StackOverflo

java.rmi.UnmarshalException : error unmarshalling arguments; nested exception is: java. lang.ClassNotFoundException:ServicesTableau

关于JAVARMI,我需要你的帮助,我开发了一个用于对表进行排序的示例程序。但我得到了这个异常(exception):ErreurRemoteExceptionoccurredinserverthread;nestedexceptionis:java.rmi.UnmarshalException:errorunmarshallingarguments;nestedexceptionis:java.lang.ClassNotFoundException:ServicesTableau这是我的服务器源代码:publicclassServeur{publicstaticvoidmain(St