Java Quartz RMI远程类加载是如何工作的?
我正在与quartz-2.2.1合作,在代码库中使用http URL,并已与代码库和安全管理器一起使用 关于RMI类加载,我有两个问题: 1) 可以通过http RMI请求JAR吗?我在传递给客户机的代码库URL中指定一个包含完整应用程序的jar。即使jar是由http服务器请求和“服务”的,服务器仍然会继续接收对jar中包含的库中包含的类的请求 你知道这是怎么回事吗?我希望服务器将jar添加到其类路径中,但事实似乎并非如此 我没有注意到RMIClassLoader中有任何方法处理类以外的任何东西 2) RMI可以请求类以外的对象吗?我终于想出了如何从JAR服务类(以解决上述问题),但远程作业无法加载“.txt”资源。它包含在应用程序jar中,但http服务器从未看到该请求 我还想知道这些问题是RMI的共同问题还是石英的特有问题 由于这是我第一次涉足RMI,任何和所有评论都将不胜感激 可以通过http RMI请求JAR吗 对 我在传递给客户机的代码库URL中指定一个包含完整应用程序的jar 这很正常 即使jar是由http服务器请求和“服务”的,服务器仍然会继续接收对jar中包含的库中包含的类的请求 啊哈jar'中包含的库可能无法工作。您应该通过进一步的代码库URL单独提供它们。Java Quartz RMI远程类加载是如何工作的?,java,jar,quartz-scheduler,rmi,codebase,Java,Jar,Quartz Scheduler,Rmi,Codebase,我正在与quartz-2.2.1合作,在代码库中使用http URL,并已与代码库和安全管理器一起使用 关于RMI类加载,我有两个问题: 1) 可以通过http RMI请求JAR吗?我在传递给客户机的代码库URL中指定一个包含完整应用程序的jar。即使jar是由http服务器请求和“服务”的,服务器仍然会继续接收对jar中包含的库中包含的类的请求 你知道这是怎么回事吗?我希望服务器将jar添加到其类路径中,但事实似乎并非如此 我没有注意到RMIClassLoader中有任何方法处理类以外的任何东
java.rmi.server.codebase
属性是URL列表,而不仅仅是一个
你知道这是怎么回事吗?我希望服务器将jar添加到其类路径中,但事实似乎并非如此
它最终将一个URLClassLoader
添加到它的类加载器集中
我没有注意到RMIClassLoader中有任何方法处理类以外的任何东西
需要注意的是,RMIClassLoader
并不是真正的ClassLoader
。这是一个奇怪的野兽,但它的类加载最终被委托给URLClassLoader。
2) RMI可以请求类以外的对象吗
代码库功能适用于任何可以通过类加载器检索的内容,包括通过getResource()
和friends获取的资源
我终于想出了如何从JAR服务类(以解决上述问题),但远程作业无法加载“.txt”资源。它包含在应用程序jar中,但http服务器从未看到该请求
不会有这样的要求。它应该直接从已经下载的.jar文件加载。检查您是否正确引用了资源