2009-09-28 8 views
1

J'essaie de me connecter à distance au planificateur Quartz, afin que je puisse obtenir une liste des tâches planifiées. Sur l'application serveur je le code ci-dessous:Connexion à distance à Quartz Scheduler

NameValueCollection properties = new NameValueCollection(); 
    properties.Add("quartz.scheduler.instanceName", "OlScheduler"); 
    properties.Add("quartz.scheduler.instanceId", "Ol"); 
    properties.Add("quartz.threadPool.type", "Quartz.Simpl.SimpleThreadPool, Quartz"); 
    properties.Add("quartz.threadPool.threadCount", "5"); 
    properties.Add("quartz.threadPool.threadPriority", "Normal"); 
    properties.Add("quartz.scheduler.registryPort", "1099"); 
    properties.Add("quartz.scheduler.rmi.export", "true"); 
    properties.Add("quartz.scheduler.rmi.registryHost", "localhost"); 
    properties.Add("quartz.scheduler.rmi.registryPort", "1099"); 
    ISchedulerFactory sf = new StdSchedulerFactory(properties); 
    IScheduler sched = sf.GetScheduler(); 

et installer et exécuter comme un service, puis de se connecter à distance à partir d'une autre application que j'utilisé:

properties["quartz.scheduler.instanceName"] = "RemoteClient"; 
    properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz"; 
    properties["quartz.threadPool.threadCount"] = "5"; 
    properties["quartz.threadPool.threadPriority"] = "Normal"; 
    properties["quartz.scheduler.proxy"] = "true"; 
    properties["quartz.scheduler.proxy.address"] = "http://170.20.20.17:1099/OIService"; 
    IScheduler sched = new StdSchedulerFactory(properties).GetScheduler(); 

L'erreur que je reçois est: "Impossible de se connecter au serveur distant" et "Aucune connexion n'a pu être établie car la machine cible l'a refusée activement 172.22.22.17:1099" Qu'est-ce qui m'a manqué? J'utilise Quartz.net version 1.1 avec RamJobStore et mon pare-feu est éteint. Je pense que c'est le port que j'utilise le mauvais. Toute aide est appréciée

Répondre

3

avertissement: Je ne sais rien à propos de Quartz Scheduler! :)

Toutefois, si vous pensez que vous pourriez avoir le mauvais numéro de port, si vous pouvez vous connecter sur le serveur distant et d'exécuter à partir d'une ligne de commande

netstat -b 

Ce imprimera les ports qui sont utilisés par processus. J'espère que cela vous permettra de vérifier le numéro de port.

Si le numéro de port est correct, mais vous ne pouvez toujours pas communiquer avec le serveur distant, vous pouvez essayer deux choses:

  • course ping.exe [xxx.xxx.xxx.xxx] de la ligne de commande pour voir si le serveur distant répond (*)
  • vérifier le pare-feu sur le serveur distant a une exception pour le processus Planificateur Quartz
  • essayez d'exécuter tracert [xxx.xxx.xxx.xxx] pour voir si vous avez un itinéraire entre les deux serveurs

(*) Ceci n'est pas toujours concluant car le serveur distant, ou le matériel réseau au centre, peut être configuré pour ne pas répondre.