Quartz配置RMI设置
不需要任何主要属性,并且都具有“合理的”默认值。当通过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 Name | Required | 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”当然是有效的。