2016-07-28 15 views
0

Ich habe 2 Prozesse auf separaten Servern. Einer führt den Quartz-Scheduler aus und ich möchte mich mit dem anderen verbinden, um Trigger zu verwalten.Quartz RMI-Remoteserver, der ungültigen Hostnamen zurückgibt

Auf dem Scheduler-Server die Konfigurations ist:

org.quartz.scheduler.rmi.export = true 
org.quartz.scheduler.rmi.createRegistry = always 
org.quartz.scheduler.rmi.registryHost = localhost 
org.quartz.scheduler.rmi.registryPort = 1099 
org.quartz.scheduler.rmi.serverPort = 1100 

auf dem Remote-Server die Konfigurations ist:

org.quartz.scheduler.rmi.proxy = true 
org.quartz.scheduler.rmi.registryHost = ip-172-16-5-11.eu-west-1.compute.internal 
org.quartz.scheduler.rmi.registryPort = 1099 

Wenn ich an den Remote-Scheduler versuchen und verbinde ich die folgende Fehlermeldung in der log:

Obwohl dieser Host ein Host in unserem Netzwerk ist, habe ich keine Ahnung, warum es so ist von der Remote-Registrierung zurückgegeben.

Es gibt keine Konnektivitätsprobleme. Wenn ich tcpdump auf dem entfernten Rechner laufen lasse, kann ich sehen, wie er sich mit dem Scheduler verbindet. Es ist nur so, dass der Scheduler diese ungültigen Host zurückgibt:

09:19:02.047589 IP 172.16.5.11.1099 > 172.16.0.81.54065: Flags [P.], seq 19:235, ack 105, win 210, options [nop,nop,TS val 1231389006 ecr 562121102], length 216 
[email protected]@..........Q.K.1}.Z... ......c..... 
Ie.N!.I.Q....w..9.e2...V0.|...sr.$org.quartz.core.QuartzScheduler_Stub...........pxr..java.rmi.server.RemoteStub......e....pxr..java.rmi.server.RemoteObject.a...a3....pxpw3. 
UnicastRef. 
log-emea-1...L/8. .a.69.e2...V0.|....x 

Wo ist der Quarz-RMI-Registry von diesen Hostnamen zu bekommen? Es gibt keine Hinweise in der Hosts-Datei oder DNS. Es scheint zufällig zu sein.

Antwort

0

ich die JVM Flagge versucht, aber das machte keinen Unterschied, jedoch hat es mich zu einer Lösung führen . Ich habe die Eigenschaft in Code festgelegt und das Problem behoben.

System.setProperty("java.rmi.server.hostname", "quartz"); 
+0

Aber das ist die gleiche wie '-Djava.rmi.server.hostname = quartz' – mam10eks

+0

Ja, in der Theorie sollten sie das gleiche sein, aber in der Praxis scheint es nicht. – JohnnyD

+0

Sie könnten das mit 'System.getProperty (" java.rmi.server.hostname ")' validieren. Nur für den Fall, dass Sie sicherstellen möchten, dass es kein Tippfehler oder etwas anderes war;) – mam10eks