首页 > 解决方案 > 使用石英岩的 cron 示例时得到“clojurewerkz.quartzite.jobs/of-type 的不正确 arity 1”?

问题描述

我尝试使用 cron 示例作为获取起始页: http ://clojurequartz.info/articles/getting_started.html

(defjob NoOpJob
[ctx]
(comment "Does nothing"))

(defn -main
[& m]
(let [s   (-> (qs/initialize) qs/start)
    job (j/build
          (j/of-type NoOpJob)
          (j/with-identity (j/key "jobs.noop.1")))
    trigger (t/build
              (t/with-identity (t/key "triggers.1"))
              (t/start-now)
              (t/with-schedule (schedule
                                 (cron-schedule "0 0 15 ? * 5"))))]
(qs/schedule s job trigger)))

intellij 在行给我“clojurewerkz.quartzite.jobs/of-type 的不正确的 arity 1”

(j/of-type NoOpJob)

我检查了 api 文档: http ://reference.clojurequartz.info/clojurewerkz.quartzite.jobs.html#var-of-type

类型的功能有两个:

(of-type jb clazz)

有什么问题吗?谢谢!

标签: clojurequartzite

解决方案


j/build是一个宏,它“注入”第一个参数(通过线程宏->):

(defmacro ^JobDetail build
  [& body]
  `(let [jb# (JobBuilder/newJob)]
     (finalize (-> jb# ~@body))))

您的 IDE 在这里错误地声明了一个错误。代码很可能编译并运行良好。


推荐阅读