1. Einführung
Mit der Entwicklung von Unternehmenssystemen werden die Anwendungen hauptsächlich verteilte Strukturen angewendet, die stark auf die Stabilität des Netzwerks beruhen. Aufgrund der inhärenten Instabilität des Netzwerks muss jedoch überlegen, wie die Robustheit der Anwendung im Falle einer Netzwerkinstabilität während der Systementwicklung sichergestellt werden kann. Das Einstellen von Netzwerkzeitlimiten ist eines der Mittel, um die Robustheit der Anwendungen zu gewährleisten. Nach der Einstellung der Netzwerk -Timeout -Einstellung ist die Anforderung gezwungen, zu kündigen, wenn sie die festgelegte Zeit nicht abschließt, um sicherzustellen, dass das Programm keine unbegrenzte Thread -Blockierung hat und die Verfügbarkeit der Anwendung effektiv verbessert.
Ich werde unten nicht viel sagen. Schauen wir uns die detaillierte Einführung zusammen an.
2. Vergleich zwischen dem nicht festgelegten Timeout und der Timeout -Einstellung
1. Network Request Legend:
Zeitüberschreitungsfall der Netzwerkanforderung
2. Nachdem Sie die Zeitüberschreitungszeit festgelegt haben, fordern Sie die Legende an:
Zeitüberschreitungsfall der Netzwerkanforderung - Zeitlimit festlegen
3.. Gemeinsame Zeitüberschreitungseinstellungen für Netzwerke
1. Httpclient Timeout -Einstellung (Federbohne)
Konfiguration
<bean id = "multithreadedhttpConnectionManager"> <Eigenschaft name = "params"> <bean> <Eigenschaft name = "maxtotalConnections" value = "$ {maxtotalConnections: 300}" /> <Eigenschaft name = "DefaultMaxConnectionSerhost. Millisekunden. -> <Eigenschaft name = "ConnectionTimeout" value = "$ {ConnectTimeout: 10000}" /> <!-Socket Timeout, Millisekunden. -> <Eigenschaft name = "sotimeout" value = "$ {readtimeout: 600000}"/> <Eigenschaft name = "stalecheckingenabled" value = "$ {stalecheckdenabled: true}"/> </bean> </property> </bean> <bean id = "httpclient"> <constructor-arr-artor-arr-artor-arr-artor-arr-artor-arg> < bean = "multithreadededhttpConnectionManager"/> </constructor-arg> </bean>Httpinvoker -Nutzungsszenario
Konfigurieren Sie httpinvokerRequestexecutor, überschreiben Sie den SimpleHttpinVokerRequstexecutor, der standardmäßig in httpinvokerProxyFactoryBean verwendet wird, und konfigurieren Sie die Zeitlimit für Netzwerk. Siehe "Konfiguration".
<bean id = "httpinvokerRequestExecutor"> <constructor-arg> <ref bean = "httpclient" /> < /constructor-arg> < /bean> <bean id = "xxxxService"> <Property name = "serviceurl" value = "$ {xxxxxxservice}}" value = "com.xxxxxService" /> <Eigenschaft name = "httpinvokerRequestexecutor" ref = "httpinvokerRequestexecutor" /> < /bean>2. Httpclient Timeout -Einstellung (hart codiert)
Probe
RequestConfig config = requestConfig.custom () .setSockettimeout (1*1000) // Socket Socket Timeout, Millisekunden. .setConnectionRequestTimeout (1*1000) // Bei Verwendung des Verbindungspools zum Verwalten der Verbindung die Verbindungszeitüberschreitung in Millisekunden aus dem Verbindungspool abrufen. .setConnectTimeout (5*1000) // Timeout der Verbindungseinrichtung, Millisekunden. .bauen(); CloseableHttpclient httpclient = httpclients.custom () .setDefaultrEquestConfig (config) // .build (); CloseableHttPresponse httpresponse = httpclient.execute (httpget); // Anfrage ausführen
3. E -Mail -Zeitüberschreitungseinstellungen
Projekte, die basierend auf Spring -Framework entwickelt wurden, können sehr einfach verwendet werden
org.springframework.mail.javamail.javamailSenderimpl implementiert E -Mail -Erinnerungen und andere Funktionen.
Konfiguration
<bean id = "mailSender" p: host = "$ {mailSender.host}" p: userername = "$ {mailSender.username}" p: password = "$ {mailSender.Password}"> <Property name = "javamailProperties"> <props> <propsword = "mail.smtp.Auth" </prop> <prop key = "mail.smtp.timeout"> $ {mailSender.smtp.timeout: 10000} </prop> <prop key = "mail.smtp.connectiontimeout"> $ {mailSender.smtp.connectionTimeout: 10000} </prop> </props> </ban> </ban>JavamailProperties Beschreibung
HINWEIS: Die Liste der Eigenschaftsparametername kann die Javamail -API -Dokumentation abfragen.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.
beziehen sich auf