поток в веб-приложении (сервлет, весна, спящий режим)

1

Я понял основную концепцию Thread в автономном приложении. Но, запутался в нижележащих областях.

1). В Java webapplication (сервлет и весна)?

Надеюсь, каждый запрос обрабатывается другим потоком. Это верно? Есть ли другое определение?

2). Что такое поток в Hibernate с Spring MVC? Запуск фабрики является потокобезопасным.. где в качестве объекта сеанса нет. Что здесь означает?

Пожалуйста, помогите мне понять это.

Теги:
servlets
spring
hibernate

1 ответ

2
Лучший ответ

1) На сервере приложений есть пул потоков, когда приходит запрос, ему назначается поток из пула. Тот же поток вызывает диспетчерский сервлет, который вызывает контроллер, который вызывает службу и т.д., И, наконец, создает HttpResponse и отправляет его клиенту.

2) Обычный шаблон с Hibernate (если вы не используете сеансы Seam) - это сеанс за запрос:

2.4.2. Шаблон сеанса за запрос

Это наиболее распространенная схема транзакций. Термин запрос здесь относится к понятию системы, которая реагирует на ряд запросов от клиента/пользователя. Веб-приложения - яркий пример такого типа системы, хотя, конечно, не единственный. В начале обработки такого запроса приложение открывает сеанс Hibernate, запускает транзакцию, выполняет всю работу, связанную с данными, завершает транзакцию и закрывает сеанс. Суть шаблона - это взаимно однозначная взаимосвязь между транзакцией и сеансом.

Транзакция хранится Spring в переменной threadlocal. Таким образом, поток имеет сеанс Hibernate (который ограничен этим потоком) и связан с транзакцией (или стеком транзакций, поскольку они могут быть вложенными).

  • 0
    Спасибо за ваше разъяснение.
  • 0
    привет, Натан Хьюз, не могли бы вы посоветовать мне несколько справочников, чтобы получить больше информации об этом?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню