2011-06-24 16 views
1

「ジョブのキーがnullにすることはできません」:私は、コードを実行するとQuartz.net - 私は、次のコードを使用して、リモート・スケジューラのジョブをスケジュールしようとしている

NameValueCollection properties = new NameValueCollection(); 
properties["quartz.scheduler.instanceName"] = "RemoteClient"; 

// set thread pool info 
properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz"; 
properties["quartz.threadPool.threadCount"] = "5"; 
properties["quartz.threadPool.threadPriority"] = "Normal"; 

// set remoting expoter 
properties["quartz.scheduler.proxy"] = "true"; 
properties["quartz.scheduler.proxy.address"] = "tcp://127.0.0.1:555/QuartzScheduler"; 

// First we must get a reference to a scheduler 
ISchedulerFactory sf = new StdSchedulerFactory(properties); 
IScheduler sched = sf.GetScheduler(); 

// define the job and ask it to run 
IJobDetail job = JobBuilder.NewJob<TestJob>() 
    .WithIdentity("remotelyAddedJob", "test") 
    .Build(); 

ITrigger trigger = TriggerBuilder.Create() 
    .WithIdentity("remotelyAddedTrigger", "test") 
    .ForJob(job) 
    .WithSchedule(CalendarIntervalScheduleBuilder.Create().WithIntervalInMinutes(1)) 
    .Build(); 

// schedule the job 
sched.ScheduleJob(job, trigger); 

私は次の例外がスローされます:

Quartz.SchedulerExceptionは、未処理だった =仕事のキーがnull ソース= mscorlib のStackTraceすることはできませんメッセージ: :[0]で 例外再スロー: ServerのスタックトレースQuartz.Simpl.IRemotableQuartzScheduler.ScheduleJobでSystem.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(のMessageData & msgData、のInt32型)でSystem.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessageがreqMsg、IMessageがretMsg) (AT (IJobDetail jobDetail、ITriggerトリガー) Quartz.Impl.RemoteScheduler.ScheduleJob(IJobDetail jobDetail、ITrigger trigger)D:\ Data \ ben \ Projects \ Utils \ lahma-quartznet-b8cfbde \ lahma-quartznet-b8cfbde \ src \ Quartz \ Impl \ RemoteScheduler.cs:D:\ Data \ ben \ Projects \ demos \ QuartzDemo \ QuartzDemo \ Program.csのQuartzDemo.Program.Main(String [] args)の行424 :System.AppDomain._nExecuteAssemblyの行番号 (RuntimeAssemblyアセンブリ、String [] args) at System.AppDomain.ExecuteAssembly(String assemblyFile、Evidence assemblySecu Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(オブジェクトの状態) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext、ContextCallbackのコールバック、Object()) System.Threading.ThreadHelper.ThreadStartでSystem.Threading.ExecutionContext.Runの状態、ブールignoreSyncCtx) (のExecutionContextのExecutionContext、ContextCallbackコールバックは、状態オブジェクト) () のInnerException:使用している場合

すべてが正常に動作しますローカルスケジューラ。 Quartzサーバーは、サービスとして実行され、TCPポート555で待機しています。

これはlatest quartz.net code from githubを使用しています。

答えて

1

これは実際にはバグでしたが、修正されました。新しい引っ張りをして、あなたは行くのが良いでしょう。

0

2.0リリースでのデータベースアクセスに関する問題についてQuartzメーリングリストのコメントがあります。

構文からは、2.0コードベースを使用しているようです。まだベータ版としてリリースされていません。私はあなたが一緒にしている生産システムではないことを願っています。

関連する問題