阅读(3437) (0)

Quartz配置RMI设置

2017-09-26 16:19:00 更新

不需要任何主要属性,并且都具有“合理的”默认值。当通过RMI使用Quartz时,您需要启动Quartz实例,并将其配置为通过RMI“导出”其服务。然后,您可以通过配置Quartz调度程序将其工作“代理”到服务器来创建客户端到服务器。

某些用户在客户端和服务器之间遇到class可用性(即Job类)的问题。要解决这些问题,您需要了解RMI的“代码库”和RMI安全管理器。您可能会发现这些资源有用:

对RMI和代码库的一个很好的描述:http : //www.kedwards.com/jini/codebase.html。重要的一点就是要意识到“代码库”是由客户使用的!

有关安全管理员的快速信息:http : //gethelp.devx.com/techtips/java_pro/10MinuteSolutions/10min0500.asp

最后从Java API文档中阅读RMISecurityManager的文档。

Property NameRequired
Default Value
org.quartz.scheduler.rmi.export没有false
falsefalseorg.quartz.scheduler.rmi.registryHost没有'localhost' 
org.quartz.scheduler.rmi.registryPort没有1099
org.quartz.scheduler.rmi.createRegistry没有'never'
org.quartz.scheduler.rmi.serverPort没有随机
org.quartz.scheduler.rmi.proxy没有false

org.quartz.scheduler.rmi.export

如果您希望Quartz Scheduler通过RMI作为服务器导出本身,则将“rmi.export”标志设置为true。

org.quartz.scheduler.rmi.registryHost

可以找到RMI注册表的主机(通常是“localhost”)。

org.quartz.scheduler.rmi.registryPort

RMI注册表正在侦听的端口(通常为1099)。

org.quartz.scheduler.rmi.createRegistry

根据您希望Quartz如何创建RMI注册表,设置'rmi.createRegistry'标志。如果您不希望Quartz创建注册表(例如,如果您已经有一个外部注册表运行),请使用“false”或“never”。如果您希望Quartz首先尝试使用现有的注册表,然后回到创建一个注册表,请使用“true”或“as_needed”。如果您希望Quartz尝试创建一个注册表,然后回到使用现有的注册表,请使用“always”。如果创建注册表,它将绑定到给定的“org.quartz.scheduler.rmi.registryPort”属性中的端口号,而“org.quartz.rmi.registryHost”应为“localhost”。

org.quartz.scheduler.rmi.serverPort

Quartz Scheduler服务将绑定并侦听连接的端口。默认情况下,RMI服务将“随机”选择端口,因为调度程序与RMI注册表绑定。

org.quartz.scheduler.rmi.proxy

如果要连接(使用)远程服务的调度程序,则将“org.quartz.scheduler.rmi.proxy”标志设置为true。您还必须指定RMI注册表进程的主机和端口 - 通常是“localhost”端口1099。

在同一个配置文件中为'org.quartz.scheduler.rmi.export'和'org.quartz.scheduler.rmi.proxy'指定一个'true'值是没有意义的 - 如果你这样做,'export '选项将被忽略。如果您没有通过RMI使用Quartz,则“export”和“proxy”属性的值“false”当然是有效的。