If the session bean that you create is going to be accessed by a client object that is not in the same JVM as the bean, then the bean needs to implement a remote business interface. You create a remote business interface by annotating the class with @Remote:
import java.util.List; import javax.ejb.Remote; @Remote public interface StudentRemote { public List<CourseDTO> getCourses(); }
The EJB implementing the remote interface is also annotated with @Remote:
@Stateful @Remote public class Student implements StudentRemote { @Override public List<CourseDTO> getCourses() { //get courses are return ... } }
Remote EJBs can be injected into managed objects in the same application using the ...