Erro acesso Session via EJb ...java.rmi.ServerException: EJBException:; nested exception is:

Caros,

estou aprendendo EJB e gostaria de buscar variaveis de Context

mas está me dando erro o que estou fazendo de errado …

Da erro no metodo setSessionContext

quem puder me ajudar agradeceria …

abs


Exception in thread "main" java.rmi.ServerException: EJBException:; nested exception is: 
	javax.ejb.EJBException: Could not instantiate bean
	at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:365)
	at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:136)
	at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
	at org.jboss.ejb.SessionContainer.internalInvokeHome(SessionContainer.java:637)
	at org.jboss.ejb.Container.invoke(Container.java:981)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

import java.rmi.RemoteException;
import java.util.Properties;

import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class CalculadoraBean implements SessionBean {
	
	SessionContext sessionContext;
	public CalculadoraBean() {
		System.out.println("Está CalculadoraBean()...");
	}
	@Override
	public void ejbActivate() throws EJBException, RemoteException {
		System.out.println("Está ejbActivate()...");
	}
	@Override
	public void ejbPassivate() throws EJBException, RemoteException {
		System.out.println("Exibe ejbPassivate()...");
	}
	@Override
	public void ejbRemove() throws EJBException, RemoteException {
		System.out.println("Exibe ejbRemove()...");
	}
	@Override
	public void setSessionContext(SessionContext arg0) throws EJBException,
			RemoteException {
		sessionContext = arg0;
		System.out.println("Exibe setSessionContext ...");
		Properties properties = sessionContext.getEnvironment();
		String valor1 =properties.getProperty("INITIAL_CONTEXT_FACTORY");
		String valor2 =properties.getProperty("PROVIDER_URL");
		System.out.println("Exibe setSessionContext (1)..."+valor1);
		System.out.println("Exibe setSessionContext (2)..."+valor2);
	}
	public void ejbCreate() throws CreateException{
		System.out.println("ejbCreate()..");
	}
	public Integer soma(Integer v1, Integer v2 ){
		return v1+v2;
	}
	

}

Em que momento do seu código está gerando essa exceção? Voce chegou a ver qual a linha?

Poste o stacktrace completo da sua exception :slight_smile:

no momento que vai Properties properties = sessionContext.getEnvironment();

at aplicacao.CalculadoraBean.setSessionContext(CalculadoraBean.java:33)

10:49:27,890 ERROR [LogInterceptor] EJBException in method: public abstract apli
cacao.Calculadora aplicacao.CalculadoraHome.create() throws javax.ejb.CreateExce
ption,java.rmi.RemoteException, causedBy:
javax.ejb.EJBException: Deprecated
        at org.jboss.ejb.EnterpriseContext$EJBContextImpl.getEnvironment(Enterpr
iseContext.java:455)
        at aplicacao.CalculadoraBean.setSessionContext(CalculadoraBean.java:33)
        at org.jboss.ejb.StatelessSessionEnterpriseContext.<init>(StatelessSessi
onEnterpriseContext.java:67)
        at org.jboss.ejb.plugins.StatelessSessionInstancePool.create(StatelessSe
ssionInstancePool.java:49)
        at org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.j
ava:184)
        at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invokeHome(
StatelessSessionInstanceInterceptor.java:95)
        at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValida
tionInterceptor.java:56)
        at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:125)
        at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
torCMT.java:350)
        at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.ja
va:161)
        at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityIntercep
tor.java:145)
        at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:1
32)
        at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyF
actoryFinderInterceptor.java:107)
        at org.jboss.ejb.SessionContainer.internalInvokeHome(SessionContainer.ja
va:637)
        at org.jboss.ejb.Container.invoke(Container.java:981)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.invocation.unified.server.UnifiedInvoker.invoke(UnifiedInvo
ker.java:231)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvoc
ationHandler.java:288)
        at $Proxy16.invoke(Unknown Source)
        at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
        at org.jboss.remoting.transport.socket.ServerThread.processInvocation(Se
rverThread.java:573)
        at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.j
ava:373)
        at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.jav
a:166)