| :index-group: Misc |
| :jbake-type: page |
| :jbake-status: published |
| = EJB Remote Call 2 |
| |
| |
| ## Greetings |
| |
| |
| public interface Greetings extends javax.ejb.SessionBean { |
| |
| 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> |