Исключение ::: «Планировщик с именем« RemoteServer »уже существует».Клиентский сервер Quartz Scheduling
Я использую одноцветный узор. а также попробуйте по-разному, но когда я назову это один раз, он выполняется отлично, и моя работа выполняется хорошо. но когда я планирую второе задание, я исключаю, что я застрял в этой проблеме. «Планировщик с именем« RemoteServer »уже существует». Код Client ::
public void SchedulenewAlert()
{
try
{
NameValueCollection properties = new NameValueCollection();
properties["quartz.scheduler.instanceName"] = "RemoteClient";
properties["quartz.scheduler.instanceId"] = "AUTO";
// 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://10.0.0.46:555/QuartzScheduler";/QuartzScheduler";
// First we must get a reference to a scheduler
ISchedulerFactory sf = new StdSchedulerFactory(properties);
IScheduler sched = sf.GetScheduler();
String jobname = "remotelyAddedJob2" + DateTime.Now.Ticks.ToString();
IJobDetail job = JobBuilder.Create<MyTest>()
.WithIdentity(jobname, "default1")
.Build();
JobDataMap map = job.JobDataMap;
map.Put("msg", "Your remotely added job has executed!");
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("remotelyAddedTrigger", "default")
.ForJob(job.Key)
.WithCronSchedule("/5 * * ? * *")
.Build();
var TestTrigger = TriggerBuilder.Create().ForJob(job).WithIdentity("remotelyAddedTrigger2", "default1")
.StartNow().Build();
DateTimeOffset pullReportsToQueuejobCalendar = DateBuilder.DateOf(9, 30, 17, 1, 6, 2005);
string trgName = "pullReportsFromQueuejobTrigger" + DateTime.Now.Ticks.ToString();
var pullReportsToQueuejobTrigger = new CalendarIntervalTriggerImpl
{
StartTimeUtc = pullReportsToQueuejobCalendar,
Name = trgName,
RepeatIntervalUnit = IntervalUnit.Second,
RepeatInterval = 40000 // every --- seconds
};
/// while (true)
// {
// schedule the job
sched.ScheduleJob(job, pullReportsToQueuejobTrigger);
}
catch (Exception ex)
{
string lines = "==================Exception Client===========================\n" + DateTime.Now.TimeOfDay.ToString() + "\n====================END=========================\n";
System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\ExceptionClient.txt", true);
file.WriteLine(lines);
file.Close();
}
///}
}
============================ сервера Код работы ....
public virtual void Execute(IJobExecutionContext context)
{
// This job simply prints out its job name and the
// date and time that it is running
try
{
string lines = "==================StartClient===========================\n"
+ DateTime.Now.TimeOfDay.ToString() + "\n====================END=========================\n";
System.IO.StreamWriter file = new System.IO.StreamWriter("d:\\testClient.txt", true);
file.WriteLine(lines);
file.Close();
}
catch(Exception ex)
{
string lines = "==================Exception at Client Calling===========================\n"
+ DateTime.Now.TimeOfDay.ToString() + "\n====================END=========================\n";
System.IO.StreamWriter file = new System.IO.StreamWriter("d:\\testExceptionClient.txt", true);
file.WriteLine(lines);
file.WriteLine("EXception........... <<<< Message "+ex.Message);
file.Close();
}
}
У меня есть решение только вопрос о доступе к модему :) –