다음과 같은 EJB 사양 위반 사례를 보고합니다.
- 클래스가 필요한 인터페이스(EJBLocalObject, EJBObject 등)를 구현하지 않는 경우
- 클래스가 인수 없는 public 생성자를 정의하지 않는 경우
- 인터페이스 대신 클래스 또는 그 반대로 사용된 경우
- EJB 메서드가 static인 경우
- 스테이트리스 Session Bean 클래스가 여러 'ejbCreate' 메서드를 정의하는 경우
- Session Bean 클래스의 잘못된 메서드 반환 타입
- EJB가 'finalize' 메서드를 정의하는 경우
예:
public class SessionEJB implements java.io.Serializable { // 오류: 클래스는 'SessionBean'을 확장해야 함
private SessionEJB() {} // 오류: 클래스가 인수 없는 public 생성자를 정의해야 합니다
}