5. 13 Copiar el paquete cibertec
14 Pegarlo en el otro proyecto
Cliente
15 Borrar las clases que no
usamos
16 Metodo Main public class Main {
6. /**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception{
// TODO code application logic here
InitialContext ctx = new InitialContext();
MiprimerejbRemote ejb = (MiprimerejbRemote) ctx.lookup(quot;alias_MiprimerejbBeanquot;);
ejb.m1(quot;Hola Mundoquot;);
}
}
16 El metodo main anterior no
funciona si queremos
contectarnos a un Servidor de
Apps externo
CONFIGURANDO SERV DE APPS PARA RECIBIR LLAMADAS REMOTAS
17
18 Usuario admin.
Password adminadmin
7. 19 Cambiar el metodo main import cibertec.MiprimerejbRemote;
import javax.naming.Context;
import javax.naming.InitialContext;
public class Main {
public static InitialContext getInitialContext() throws Exception {
java.util.Hashtable prop= new java.util.Hashtable();
prop.put(Context.INITIAL_CONTEXT_FACTORY,quot;com.sun.enterprise.naming.SerialInitContextFactoryquot;);
prop.put(quot;org.omg.CORBA.ORBInitialHostquot;, quot;192.168.1.100quot;);
// NOTE: IIOP is set on port 3701 but this works on port 3700
prop.put(quot;org.omg.CORBA.ORBInitialPortquot;, quot;1072quot;);
return new InitialContext(prop);
}
public static void main(String[] args) throws Exception{
// TODO code application logic here
InitialContext ctx = getInitialContext();
MiprimerejbRemote ejb = (MiprimerejbRemote) ctx.lookup(quot;alias_MiprimerejbBeanquot;);
ejb.m1(quot;Hola Mundoquot;);
}
}
20 Aumentemos metodos @PostConstruct
public void postcons() {
callback al EJB System.out.println(quot;posconsquot;);
}
@PreDestroy
public void predes() {
System.out.println(quot;predesquot;);
}
@AroundInvoke
public Object interceptor(InvocationContext ctx) throws Exception
{
System.out.println(quot;interceptorr llamadoquot;);
return ctx.proceed();
}
21 Prueba la invocación desde el
cliente.
Para que sirve
@PostConstruct ?
Para que sirve
@PreDestroy ?
Para que sirve
@AroundInvoke ?
Que pasa si el metodo
“interceptor” retorna una
excepcion ¿?
8. EJBS DE SESION STATEFULL
22
23 EJB session package cibertec;
import javax.ejb.Stateful;
@Stateful(mappedName=quot;alias_MiprimerejbconsesionBeanquot;)
public class MiprimerejbconsesionBean implements MiprimerejbconsesionRemote,
MiprimerejbconsesionLocal {
int sumaTotal =0;
public int m2(int suma)
{
sumaTotal = sumaTotal + suma;
return sumaTotal;
}
}
24 Interfaz local package cibertec;
import javax.ejb.Local;
@Local
public interface MiprimerejbconsesionLocal {
public int m2(int suma);
}
25 Interfaz remota package cibertec;
import javax.ejb.Remote;
@Remote
public interface MiprimerejbconsesionRemote {
public int m2(int suma);
}
26 Llamada en el cliente MiprimerejbconsesionRemote ejb = (MiprimerejbconsesionRemote)
ctx.lookup(quot;alias_MiprimerejbconsesionBeanquot;);
System.out.println(ejb.m2(4));
System.out.println(ejb.m2(2));
System.out.println(ejb.m2(5));
EJBS DE JMS