1. Введение
С разработкой корпоративных систем приложения в основном принимают распределенные структуры, которые в значительной степени зависят от стабильности сети. Однако из -за неотъемлемой нестабильности сети необходимо учитывать, как обеспечить надежность приложения в случае нестабильности сети во время разработки системы. Установка сетевого тайм -аута является одним из средств для обеспечения надежности приложений. После настройки настройки сетевого тайм -аута запрос будет вынужден прекратить, если он не выполнит установленное время, гарантируя, что программа не имеет неограниченной блокировки потока, эффективно улучшая доступность приложения.
Я не скажу многое ниже, давайте посмотрим на подробное введение вместе.
2. Сравнение между тайм -аутом, не установленным и настройкой тайм -аута
1. Легенда о запросе сети:
Сетевое время ожидания сетевого запроса
2. После установки времени ожидания запросите легенду:
Сетевое время ожидания сетевого запроса - установить тайм -аут
3. Общие настройки тайм -аута сети
1. Настройка тайм -аута httpclient (весенний фасоль)
Конфигурация
<bean id = "multiThreadedHttpConnectionManager"> <name = "params"> <bean> <name = "maxtotalconnections" value = "$ {maxtotalConnections: 300}" /> <name = "defaultMaxConnectionseperhost" value = "$ {defaultmaxConectionessperectionsperhost: 300? миллисекунды. -> <name = "connectimeout" value = "$ {connecttimeout: 10000}" /> <!-Timeout Socket Timeout, Milliseconds. -> <propertive name = "sotimeout" value = "$ {readtimeout: 600000}"/> <name = "stalecheckingenabled" value = "$ {stalecheckingenabled: true}"/> </bean> </propetion> </bean> <bean id = "httpclient bean = "MultiThreadedHttpConnectionManager"/> </constructor-arg> </bean>Сценарий использования Httpinvoker
Настройте httpinvokerRequestexeCutor, переопределите SimplehttpinvokerRequestexeCutor, используемый по умолчанию в httpinvokerproxyfactorybean и настройка сетевого тайм -аута. См. «Конфигурация».
<bean id = "httpinvokerRequestexeCutor"> <ventructor-arg> <ref bean = "httpclient" /> < /constructor-arg> < /bean> <bean id = "xxxxservice"> <свойство = "ServiceUrl" value = "$ {xxxserviceurl}" /"serviceUrl" value = "$ {xxxserviceurl}" /"serviceUrl" value = "{xxxserviceurl}". value = "com.xxxxservice" /> <name = "httpinvokerrequestexecutor" ref = "httpinvokerrequestexecutor" /> < /bean>2. Настройка тайм -аута HTTPClient (жестко кодировал)
Образец
RequestConfig config = requestConfig.custom () .setsockettimeout (1*1000) // Временный сокет, миллисекунд. .SetConnectionRequestTimeout (1*1000) // При использовании пула соединений для управления соединением получите время ожидания подключения, миллисекунд из пула соединений. .setConnecttimeout (5*1000) // Тайм -аут установки подключения, миллисекунд. .строить(); ClosableHttpClient httpclient = httpclients.custom () .setDeftrequestConfig (config) // .build (); ClosableHttpresponse httpresponse = httpclient.execute (httpget); // выполнить запрос
3. Настройки тайм -аута почты
Проекты, разработанные на основе Spring Framework, могут быть использованы очень легко
org.springframework.mail.javamail.javamailsenderimpl реализует напоминания по электронной почте и другие функции.
Конфигурация
<bean id = "mailsender" p: host = "$ {mailsender.host}" p: username = "$ {mailsender.username}" p: password = "$ {mailsender.password}"> <собственность = "javamailproperties"> <props> <prope = "mail.smt.auth"> $ {$ {$ whipmd. </prop> <prop key = "mail.smtp.timeout"> $ {mailsender.smtp.timeout: 10000} </prop> <prop key = "mail.smtp.connectiontimeout"> $ {mailsender.smtp.connectionTimeout: 10000} </prop> </props> </property> </bean> </bean> </bean> </bean> </bean> </bean>JavamailProperties описание
ПРИМЕЧАНИЕ. Список имен параметров свойства может запросить документацию Javamail API.
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.
обратиться к