1. Introducción
Con el desarrollo de sistemas empresariales, las aplicaciones adoptan principalmente estructuras distribuidas, que dependen en gran medida de la estabilidad de la red. Sin embargo, debido a la inestabilidad inherente de la red, es necesario considerar cómo garantizar la robustez de la aplicación en caso de inestabilidad de la red durante el desarrollo del sistema. Configurar el tiempo de espera de la red es uno de los medios para garantizar la robustez de la aplicación. Después de establecer la configuración de tiempo de espera de la red, la solicitud se verá obligada a terminar si no complete el tiempo establecido, asegurando que el programa no tenga un bloqueo de subprocesos ilimitado, mejorando efectivamente la disponibilidad de la aplicación.
No diré mucho a continuación, echemos un vistazo a la introducción detallada juntos.
2. Comparación entre el tiempo de espera no establecido y la configuración de tiempo de espera
1. Legend de solicitud de red:
Caso de tiempo de espera de solicitud de red
2. Después de establecer el tiempo de tiempo de espera, solicite la leyenda:
Caso de tiempo de espera de solicitud de red: establecer el tiempo de espera
3. Configuración común de tiempo de espera de la red
1. Configuración de tiempo de espera de httpclient (frijol de resorte)
Configuración
<bean id = "multithithreadedhttpconnectionManager"> <propiedad name = "params"> <bean> <propiedad name = "maxtoTalConnections" valor = "$ {maxtotalconnections: 300}" /> <Property name = "defaultMaxConnectionSperhost" value = "$ {defaultMaxConnectionsperhost: 300}" /> << -> <Property name = "ConnecttimeOut" value = "$ {ConnectTimeOut: 10000}" /> <!-Tiempo de espera de socket, milisegundos. -> <Property name = "SotimeOut" value = "$ {ReadTimeOut: 600000}" /> <Property Name = "staleCkechenEnabled" value = "$ {staleChKingEnabled: true}" /> < /bean> </sperties> < /bean> <bean id = "httpclient"> <constructor-arg> <riegue = "múltiplereadeedhththtthtthtetthtectionthtetthtEttEttEntection" </constructor-arg> </reme>escenario de uso de httpinvoker
Configure httpinvokerRequestExecutor, anule el simplehttpinvokerRequesteCutor utilizado por defecto en httpinvokerproxyfactorybean y configure el tiempo de espera de red. Consulte "Configuración".
<bean id = "httpinvokerRequestExecutor"> <constructor-arg> <ref bean = "httpclient" /> </ constructor-arg> </ bean> <bean id = "xxxxxSservice"> <Property name = "ServiceUrl" valor = "$ {xxxxserviceUrl}" /> <nombre de propiedad = "Servicio Interface" value = "com.xxxxservice" /> <propiedad name = "httpinvokerRequestExecutor" ref = "httpinvokerRequestexecutor" /> < /bean>2. Configuración de tiempo de espera de httpclient (codificado por dura)
Muestra
RequestConfig config = requestConfig.custom () .setsockettimeout (1*1000) // Tiempo de espera de socket, milisegundos. .SetConnectionRequestTimeOut (1*1000) // Cuando se usa el grupo de conexión para administrar la conexión, obtenga el tiempo de tiempo de espera de conexión, milisegundos desde el grupo de conexión. .SetConnectTimeOut (5*1000) // Tiempo de espera del establecimiento de conexión, milisegundos. .construir(); ClosableHttpClient httpClient = httpclients.custom () .setDefaulTequestConfig (config) // .Build (); ClosableHttPResponse httpResponse = httpclient.execute (httpget); // Ejecutar solicitud
3. Configuración de tiempo de espera de correo
Los proyectos desarrollados basados en el marco de primavera se pueden usar muy fácilmente
org.springframework.mail.javamail.javamailsenderImpl implementa recordatorios de correo electrónico y otras funciones.
Configuración
<bean id = "mailsender" p: host = "$ {mailsender.host}" p: username = "$ {mailsender.username}" p: contraseña = "$ {mailsender.password}"> <Property name = "javamailproperties"> <props> <ppey = "mail.smtp.auth"> $ {mailsherner. </prop> <proping key = "mail.smtp.timeout"> $ {mailsender.smtp.timeout: 10000} </prop> <proping key = "mail.smtp.connectiontimeout"> $ {mailsender.smtp.connectiontimeout: 10000} </prop> </props> </propiéJavamailProperties Descripción
Nota: La lista de nombres de parámetros de propiedad puede consultar la documentación de la API de Javamail.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.
referirse a