Почему использование бобы сессии с сохранением информации?

Используя этот ключевое слово для доступа к полям/методам содержания класса от внутреннего класса. В ниже, скорее изобретенный пример, мы хотим использовать sortAscending поле контейнерного класса от анонимного внутреннего класса. Используя ContainerClass.this.sortAscending вместо this.sortAscending добивается цели.

import java.util.Comparator;

public class ContainerClass {
boolean sortAscending;
public Comparator createComparator(final boolean sortAscending){
    Comparator comparator = new Comparator<Integer>() {

        public int compare(Integer o1, Integer o2) {
            if (sortAscending || ContainerClass.this.sortAscending) {
                return o1 - o2;
            } else {
                return o2 - o1;
            }
        }

    };
    return comparator;
}
}
12
задан Beryllium 3 August 2013 в 20:03
поделиться

2 ответа

Я изучаю ejb3, и мне просто интересно, когда удобно использовать SFSB ? Я не могу найти хороший пример, когда SFSB действительно легко решает какую-то сложную проблему.

Вы имеете в виду, как тележку для покупок? Это очевидный ответ, который я могу придумать.

На самом деле я вижу, что SLSB можно использовать как веб-сервисы, и это удобно.

EJB можно рассматривать как один из способов развертывания распределенных служб, но будьте осторожны. Термин «веб-службы» заставляет большинство людей думать о «веб-службах на основе SOAP, использующих протокол HTTP», а это не то, что у вас есть в SFSB.

Но я не знаю, когда использовать SFSB. Я вижу только проблемы с этим, потому что мы должны что-то узнать об этом, мы должны написать код, который состоит из аннотаций немного меньше, чем полностью, мы должны использовать надоедливый поиск ... И мы не получаем ничего хорошего взамен.

Это параграф сбивает с толку, но я думаю, вы говорите, что вам не очень нравятся EJB.

Например, мы не можем использовать SFSB из SLSB, потому что объекты с отслеживанием состояния могут использоваться только из контекста с отслеживанием состояния.

Верно, они дополняют друг друга. Вы используете SFSB для случаев использования, которые требуют - подождите, пока - состояние должно поддерживаться между вызовами.

Мы не можем использовать DI в сервлетах, вместо этого мы должны вручную создать экземпляр SFSB с помощью поиска, а затем поместить его в объект HttpSession . Это не может быть веб-сервис.

Откуда здесь взялись сервлеты?

Единственная выгода, которую я вижу в SFSB, - это управление транзакциями. Но я думаю, что это редкий случай, когда нам действительно нужна транзакция, а БД нам не нужна. Я могу предположить, что это может быть действительно полезно, когда мы храним наши данные в xml-файле и используем управление транзакциями в SFSB для имитации нереляционной БД.

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

Я почти уверен, что я полностью неправ, поэтому приведите мне несколько действительно хороших примеров использования SFSB.

Чего вы ожидаете? Это кто-то выложит рабочий SFSB? Я не собираюсь этого делать, в основном потому, что я не большой поклонник EJB. (Я делаю все, о чем вы говорите, и даже больше, с помощью Spring.)

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

Я не собираюсь этого делать, в основном потому, что я не большой поклонник EJB. (Я делаю все, о чем вы говорите, и многое другое, с помощью Spring.)

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

Я не собираюсь этого делать, в основном потому, что я не большой поклонник EJB. (Я делаю все, о чем вы говорите, и даже больше, с помощью Spring.)

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

8
ответ дан 2 December 2019 в 22:51
поделиться

выбор между архитектурой с сохранением состояния и архитектурой без состояния

в большинстве случаев предпочтительнее, поскольку он проще.

хотя вначале проще понять, создание приложений без сохранения состояния приводит к ряду проблем (множество веб-служб без сохранения состояния, Spring singleton и т. д.),делая приложение менее управляемым в долгосрочной перспективе.

Я предпочитаю проектировать приложения с отслеживанием состояния, когда это возможно.

Сессионный компонент с отслеживанием состояния - способ сделать это. Spring прототип или другой компонент с веб-областью видимости.

также ознакомьтесь с фреймворком jboss seam.

0
ответ дан 2 December 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: