Может ли EJB-компонент реализовывать несколько интерфейсов?

Может ли EJB-компонент реализовывать несколько пользовательских интерфейсов, кроме бизнес-интерфейсов (@Local, @Remote) или представления без интерфейса (@LocalBean)?

Например, определить два интерфейса UserInterface1, UserInterface2, без аннотации.

Это законно для реализации:

@Stateless
public class MyBean implements UserInterface1, UserInterface2 { ...

Тогда у меня другая путаница:

@Stateless
public class MyBean implements Runnable { ...
//inside I won't try to manage thread
}

Является ли это законным или незаконным, я обнаружил, что Glassfish поддерживают эту ситуацию.

1 ответ

Решение

Данный пример недопустим, но, тем не менее, принят довольно многими реализациями (серверами приложений).

Дэвид Блевинс начал тему об этом в списке рассылки EJB некоторое время назад.

EJB 3.2 сделает правила более понятными для этой темы. Смотрите, что нового в EJB 3.2? - Java EE 7 задыхается! (смотрите раздел Упрощенные правила для определения всех локальных / удаленных представлений bean-компонента)

Другие вопросы по тегам