1. 소개
엔터프라이즈 시스템의 개발을 통해 응용 프로그램은 대부분 네트워크의 안정성에 크게 의존하는 분산 구조를 채택합니다. 그러나 네트워크의 고유 한 불안정성으로 인해 시스템 개발 중 네트워크 불안정성의 경우 응용 프로그램의 견고성을 보장하는 방법을 고려해야합니다. 네트워크 시간 초과 설정은 응용 프로그램 견고성을 보장하기위한 수단 중 하나입니다. 네트워크 타임 아웃 설정을 설정 한 후 설정 시간이 완료되지 않으면 요청이 종료되어 프로그램에 스레드 막힘이 무제한이 없도록하여 응용 프로그램의 가용성을 효과적으로 향상시킵니다.
아래에서 많이 말하지 않겠습니다. 자세한 소개를 함께 살펴 보겠습니다.
2. 시간 초과 설정과 타임 아웃 설정 비교
1. 네트워크 요청 범례 :
네트워크 요청 시간 초과 케이스
2. 타임 아웃 시간을 설정 한 후 범례를 요청하십시오.
네트워크 요청 시간 초과 사례 - 시간 초과 설정
3. 일반적인 네트워크 시간 초과 설정
1. httpclient 타임 아웃 설정 (스프링 콩)
구성
<bean id = "multithreadedHttpConnectionManager"> <속성 이름 = "params"> <ean> <속성 이름 = "maxtOtalConnections"value = "$ {maxtOtalConnection : 300}" /> <속성 이름 = "defaultMaxConnectionSperHost"value = "$ {defaultMaxConnectionSperHost : 300}" />>>>>>>>>>>>>>>>>>>>>>>>>> >chersnectionsperhost : 300}. 밀리 초. -> <property name = "ConnectionTimeout"value = "$ {ConnectTimeout : 10000}" /> <!-소켓 타임 아웃, 밀리 초. -> <property name = "sotimeout"value = "$ {readtimeout : 600000}" /> <property name = "stalecheckingEnabled"value = "$ {stalecheckingenabled : true}" /> < /bean> < /bean> < /bean> <bean id = "httpclient"> </생성자-arg> </bean>httpinvoker 사용 시나리오
httpinvokerRequestExecutor를 구성하고 HTTPINVOKERPROXYFACTORYBEAN에서 기본적으로 사용하는 SimpleHttpinVokerRequestExecutor를 재정의하고 네트워크 시간 초과를 구성하십시오. "구성"을 참조하십시오.
<bean id = "httpinvokerRequestExecutor"> <생성자-arg> <Ref bean = "httpclient" /> < /constructor-arg> < /bean> <bean id = "xxxxservice"> <property name = "serviceurl"value = "$ {xxxxserviceurl}" /> <property name = "serviceintface value = "com.xxxxservice" /> <property name = "httpinvokerrequestexecutor"ref = "httpinvokerrequestexecutor" /> < /bean>2. httpclient 타임 아웃 설정 (하드 코드)
견본
requestConfig config = requestConfig.custom () .SetSocketTimeout (1*1000) // 소켓 소켓 타임 아웃, 밀리 초. .SetConnectionRequestTimeout (1*1000) // 연결 풀을 사용하여 연결을 관리 할 때 연결 시간 초과 시간을 연결 풀에서 밀리 초로 가져옵니다. .SetConnectTimeout (5*1000) // 연결 설정 시간 초과, 밀리 초. .짓다(); CloseableHttpClient httpclient = httpclients.custom () .setDefaultRequestConfig (config) // .build (); CloseableHttTpresponse httpresponse = httpclient.execute (httpget); // 요청을 실행합니다
3. 메일 타임 아웃 설정
스프링 프레임 워크를 기반으로 개발 된 프로젝트는 매우 쉽게 사용할 수 있습니다.
org.springframework.mail.javamail.javamailsenderimpl은 이메일 알림 및 기타 기능을 구현합니다.
구성
<bean id = "mailsender"p : host = "$ {mailsender.host}"p : username = "$ {mailsender.username}"p : password = "$ {mailsender.password}"> <property name = "javamailproperties"> <props> <prop key = "mail.smtp.auth"> $ {smtp.auth " </prop> <prop key = "mail.smtp.timeout"> $ {mailsender.smtp.timeout : 10000} </prop> <prop key = "mail.smtp.connectiontimeout"> $ {mailsender.smtp.smtp.connectiontimeout : 10000} </proption> </bean>JavamailProperties 설명
참고 : 속성 매개 변수 이름 목록은 Javamail API 문서를 쿼리 할 수 있습니다.
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.
참조하십시오