Olá pessoal, tudo bem?
Estou tentando fazer o lookup de um EJB Stateless para poder testá-lo (sim, isso é um requisito) mas não consigo encontrá-lo de jeito nenhum (nenhum endereço). Já vi num exemplo do TomEE o cara fazendo assim mas ele nao tinha interface (era a classe @Stateless direto). O que estou errando?
public interface Calculo {
void A();
}
@Stateless
public class CalculoImpl implements Calculo {
public void A() {
//codigo
}
}
No teste (o nome do projeto é currency):
@Before
public void lookupABean() throws NamingException {
Calculo calculator;
EJBContainer ejbContainer = EJBContainer.createEJBContainer();
Object object = ejbContainer.getContext().lookup("java:global/currency/CalculoImpl");
calculator = (CalculoImpl) object;
}
O erro é que ele nao consegue fazer o lookup do proxy para o meu .
java.lang.ClassCastException: com.sun.proxy.$Proxy39 cannot be cast to com.fexco.currency.ChargeCalculatorImpl
at com.app.currency.ChargeCalculatorTest.lookupABean(ChargeCalculatorTest.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Estou usando JavaEE 7 com openejb-core e JUnit 4.11
Podem me ajudar, por favor? Nao sei mais o que fazer
