如何解决Java RMI,是否可以在不将类文件放在Web服务器中的情况下发送序列化对象?
| 我最近正在使用RMI进行实验,发现如果类文件也未存储在Web服务器上,我似乎无法发送序列化对象。这是否意味着我所有可序列化的类都需要放在Web服务器的类路径中? 恕我直言,这真的不是最好的设计。解决方法
否。所有这些答案都是错误的。
如果您使用RMI代码库功能,则这些类不需要在两侧都存在。您可以设置一个Web服务器来承载JAR文件,并设置-Djava.rmi.server.codebase =来定义这些类在哪里可用,作为这些JAR文件的URL列表。您可以在服务器或客户端或两者上进行设置,具体取决于谁将发送另一端没有的类。然后RMI用这些URL注释这些类,以便目标知道从何处获取它们,并根据需要下载它们。
,是的,这些类必须在两侧都存在。
,是的,该类文件也必须存在于Web服务器上,因为RMI旨在(回溯时)通过网络发送类的实例。如果您只是希望将数据发送到Web服务器而不封装任何类的业务行为,那么可以有很多更新和更简单的方法(JSON,XML,SOAP等)来简单地发送数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。