EJB - это просто особый класс.Это особенное, потому что его жизненный цикл управляется контейнером.Это просто класс, потому что он написан на Java и может реализовывать любой интерфейс и любую бизнес-логику, какую захочет.
Итак, я считаю хорошей практикой иметь несколько реализаций одного и того же интерфейса.Это позволяет отделить реализацию конкретной услуги от ее использования.Например, вы можете создать интерфейс Sender
, который может отправлять некоторый контент и две реализации: EmailSender и SmsSender.Оба реализуют один и тот же интерфейс, оба являются EJB.
Единственная проблема заключается в том, что в этом случае вы не можете привязать ссылку к отправителю только через его интерфейс, а должны использовать mappedName
, как вы это сделали.