Imposta la funzione per la ricerca dei nomi JVM TTL DNS - AWS SDK for Java 1. x

La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-supportdicembre 2025. Ti consigliamo di eseguire la migrazione a per continuare AWS SDK for Java 2.xa ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Imposta la funzione per la ricerca dei nomi JVM TTL DNS

La macchina virtuale Java (JVM) memorizza nella cache le ricerche dei DNS nomi. Quando JVM risolve un nome host in un indirizzo IP, memorizza l'indirizzo IP nella cache per un periodo di tempo specificato, noto come (). time-to-liveTTL

Poiché AWS le risorse utilizzano voci di DNS nome che cambiano di tanto in tanto, ti consigliamo di configurare il tuo nome JVM con un TTL valore di 5 secondi. In questo modo, quando l'indirizzo IP di una risorsa cambia, l'applicazione sarà in grado di ricevere e utilizzare il nuovo indirizzo IP della risorsa richiedendo il. DNS

In alcune configurazioni Java, l'JVMimpostazione predefinita TTL è impostata in modo che non aggiorni mai le DNS voci fino al riavvio di. JVM Pertanto, se l'indirizzo IP di una AWS risorsa cambia mentre l'applicazione è ancora in esecuzione, non sarà possibile utilizzare tale risorsa finché non si riavvia manualmente JVM e le informazioni IP memorizzate nella cache non vengono aggiornate. In questo caso, è fondamentale impostare i JVM in TTL modo che aggiorni periodicamente le informazioni IP memorizzate nella cache.

Come impostare il JVM TTL

Per modificare iTTL, imposta il valore JVM della proprietà di sicurezza networkaddress.cache.ttl, imposta la proprietà nel file per Java 8 o nel $JAVA_HOME/jre/lib/security/java.security file per Java 11 o versioni successive. networkaddress.cache.ttl $JAVA_HOME/conf/security/java.security

Quello che segue è un frammento di un file che mostra la cache impostata su 5 secondi. java.security TTL

# # This is the "master security properties file". # # An alternate java.security properties file may be specified ... # The Java-level namelookup cache policy for successful lookups: # # any negative value: caching forever # any positive value: the number of seconds to cache an address for # zero: do not cache ... networkaddress.cache.ttl=5 ...

Tutte le applicazioni eseguite sulla variabile di ambiente JVM rappresentata dalla variabile di $JAVA_HOME ambiente utilizzano questa impostazione.