Безстоящий сеанс Beans Идентификация с @EJB и @Inject

В последнее время я изучал раздел 3.4.7.2 спецификаций EJB3.2 и провел несколько тестов.

Технические характеристики:

@EJB Корзина Корзина 1;
@EJB Корзина Корзина 2;
... if (cart1.equals(cart1)) {// этот тест должен вернуть true...}
... если (cart 1.equals(cart 2)) {// этот тест также должен возвращать true...}

Метод equals всегда возвращает true, когда используется для сравнения ссылок к тому же типу бизнес-интерфейса той же сессии без сохранения состояния bean.

В спецификациях явно указывается аннотация @EJB, поэтому я сделал некоторые тесты, и я мог подтвердить - if (cart1.equals(cart2)) всегда возвращать true - предположение о личность.

Потому что очень часто я вижу @Inject, который должен работать так же, как @EJB, я попробовал тот же пример выше, но с @Inject. В этом случае if (cart1.equals(cart2)) всегда возвращается false.

Мне было интересно, есть ли на нем некоторые комментарии.

Код для тестирования:

public abstract class FormatOutputWithBeansIdentity extends HttpServlet {

    protected void formatOutput(final PrintWriter out, SLSBLocalView beanA, SLSBLocalView beanB) throws IllegalStateException {
        ...;
        out.println("<br>beanA and beanB are equal : " + checkIfEqual(beanA, beanB) + "<br>");
        out.println("<br>beanA and beanA are equal : " + checkIfEqual(beanA, beanA) + "<br>");
    }


    private Boolean checkIfEqual(SLSBLocalView beanA, SLSBLocalView beanB) {
        // The equals method always returns true when used to compare references to the same business interface type of the same stateless session bean.
        return beanA.equals(beanB);
    }
}

@WebServlet(name = "ServletDemo1", urlPatterns = {"/ServletDemo1"})
public class ServletDemo1 extends FormatOutputWithBeansIdentity {

    @EJB
    SLSBLocalView beanA;

    @EJB
    SLSBLocalView beanB;

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try (PrintWriter out = response.getWriter()) {

            ...

            out.println("<h1>Test Session Object Identity Using @EJB</h1>");

            formatOutput(out, beanA, beanB);

            ...
        }
    }

}