public interface Greetings extends jakarta.ejb.SessionBean {
EJB Remote Call 2
Greetings
String morning(String name);
String afternoon(String name);
String hello(String input) throws GreetingsException; }
public class DefaultGreetings implements Greetings {
@Override
public String morning(String name) {
return "Good Morning: " + name;
}
@Override
public String afternoon(String name) {
return "Good Afternoon: " + name;
}
@Override
public String hello(final String input) throws GreetingsException {
if ("CHECKED".equals(input)) {
throw new GreetingsException("This is a checked exception");
}
if ("RUNTIME".equals(input)) {
throw new RuntimeException("This is a runtime exception");
}
if (input == null) {
return "Input was null";
}
return "Input was: " + input; }
@Override
public void ejbActivate() throws EJBException, RemoteException {
}
@Override
public void ejbPassivate() throws EJBException, RemoteException {
}
@Override
public void ejbRemove() throws EJBException, RemoteException {
}
@Override
public void setSessionContext(SessionContext ctx) throws EJBException, RemoteException {
} }
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
metadata-complete="false"
version="2.5">
</web-app>
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0"> <enterprise-beans> <session> <ejb-name>Greetings</ejb-name> <mapped-name>ejb/Greetings</mapped-name> <business-local>org.superbiz.remote.Greetings</business-local> <business-remote>org.superbiz.remote.Greetings</business-remote> <ejb-class>org.superbiz.remote.DefaultGreetings</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans> </ejb-jar>