Problemas com EJB3 e JBOSS 4.2.3 GA [RESOLVIDO]

4 respostas
E

Boa tarde pessoal do GUJ,
Então estou aqui para sanar um problema que está tirando o meu sono.
Estou fazendo um aplicativo e utilizo Eclipse Helios para fazer EJB3 com Jboss 4.2.3 GA
Aí vem o meu pesadelo, quando subo o meu ejb não consigo fazer o Lookup

javax.naming.NameNotFoundException: UserSessionBean/remote
	at org.jboss.ha.jndi.TreeHead.lookup(TreeHead.java:242)
	at org.jboss.ha.jndi.HAJNDI.lookup(HAJNDI.java:155)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.ha.framework.server.HARMIServerImpl.invoke(HARMIServerImpl.java:209)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
	at sun.rmi.transport.Transport$1.run(Transport.java:153)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
	at java.lang.Thread.run(Thread.java:595)
	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
	at org.jboss.ha.framework.server.HARMIServerImpl_Stub.invoke(Unknown Source)
	at org.jboss.ha.framework.interfaces.HARMIClient.invokeRemote(HARMIClient.java:219)
	at org.jboss.ha.framework.interfaces.HARMIClient.invoke(HARMIClient.java:321)
	at $Proxy0.lookup(Unknown Source)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at com.br.util.Locator.getInstanceEJB(Locator.java:25)

No console do Jboss não está aparecendo as instâncias do Local e nem Remote.

Pessoal o que estou fazendo de errado…
Valeu. :oops:

Obrigado pela atenção.

4 Respostas

F

Já olhou no jmx-console se ele está publicado e qual o jndi ?

Abraço,

Fred

A

Pelo que parece ele está colocando corretamente o EJB no servidor:

Como fre_d citou, verifique se o JNDI está corretamente configurado. Provável que seja isso.

Att.

E

Bom dia Galera,
Então segue a visao do console JMX


EdEAR (class: org.jnp.interfaces.NamingContext)
| +- UserSessionBean (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy102 implements interface com.br.session.interfaces.UserSessionLocal,interface org.jboss.ejb3.JBossProxy)
| | +- remote (proxy: $Proxy101 implements interface com.br.session.interfaces.UserSessionRemote,interface org.jboss.ejb3.JBossProxy)
| +- PlataformaSession (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy94 implements interface com.br.session.interfaces.PlataformaSessionLocal,interface org.jboss.ejb3.JBossProxy)
| | +- remote (proxy: $Proxy92 implements interface com.br.session.interfaces.PlataformaSessionRemote,interface org.jboss.ejb3.JBossProxy)
| +- StatusSession (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy98 implements interface com.br.session.interfaces.StatusSessionLocal,interface org.jboss.ejb3.JBossProxy)
| | +- remote (proxy: $Proxy97 implements interface com.br.session.interfaces.StatusSessionRemote,interface org.jboss.ejb3.JBossProxy)
| +- DiarioSession (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy109 implements interface com.br.session.interfaces.DiarioSessionLocal,interface org.jboss.ejb3.JBossProxy)
| | +- remote (proxy: $Proxy108 implements interface com.br.session.interfaces.DiarioSessionRemote,interface org.jboss.ejb3.JBossProxy)
+- HASessionState (class: org.jnp.interfaces.NamingContext)
| +- Default (class: org.jboss.ha.hasessionstate.server.HASessionStateImpl)
+- TopicConnectionFactory (class: org.jboss.naming.LinkRefPair)
+- jmx (class: org.jnp.interfaces.NamingContext)
| +- invoker (class: org.jnp.interfaces.NamingContext)
| | +- RMIAdaptor (proxy: $Proxy56 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt)
| +- rmi (class: org.jnp.interfaces.NamingContext)
| | +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef)
+- JAXR (class: org.apache.ws.scout.registry.ConnectionFactoryImpl)
+- HTTPXAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
+- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
+- UserTransactionSessionFactory (proxy: $Proxy15 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
+- HTTPConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
+- persistence.units:ear=EdEAR.ear,jar=EjbDiarioBordo.jar,unitName=EjbDiarioBordo (class: org.hibernate.impl.SessionFactoryImpl)
+- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
+- invokers (class: org.jnp.interfaces.NamingContext)
| +- BVSP-SIS-58152 (class: org.jnp.interfaces.NamingContext)
| | +- iiop (class: org.jboss.invocation.iiop.IIOPInvoker)
+- TransactionSynchronizationRegistry (class: com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple)
+- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
+- UILXAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
+- UIL2XAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
+- HAPartition (class: org.jnp.interfaces.NamingContext)
| +- DefaultPartition (class: org.jboss.ha.framework.server.HAPartitionImpl)
+- topic (class: org.jnp.interfaces.NamingContext)
| +- testDurableTopic (class: org.jboss.mq.SpyTopic)
| +- testTopic (class: org.jboss.mq.SpyTopic)
| +- securedTopic (class: org.jboss.mq.SpyTopic)
+- queue (class: org.jnp.interfaces.NamingContext)
| +- A (class: org.jboss.mq.SpyQueue)
| +- examples (class: org.jnp.interfaces.NamingContext)
| | +- FilaQueue (class: org.jboss.mq.SpyQueue)
| +- testQueue (class: org.jboss.mq.SpyQueue)
| +- ex (class: org.jboss.mq.SpyQueue)
| +- DLQ (class: org.jboss.mq.SpyQueue)
| +- D (class: org.jboss.mq.SpyQueue)
| +- C (class: org.jboss.mq.SpyQueue)
| +- B (class: org.jboss.mq.SpyQueue)
+- console (class: org.jnp.interfaces.NamingContext)
| +- PluginManager (proxy: $Proxy57 implements interface org.jboss.console.manager.PluginManagerMBean)
+- UIL2ConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
+- HiLoKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.hilo.HiLoKeyGeneratorFactory)
+- UILConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
+- QueueConnectionFactory (class: org.jboss.naming.LinkRefPair)
+- UUIDKeyGeneratorFactory (class: org.jboss.ejb.plugins.keygenerator.uuid.UUIDKeyGeneratorFactory)

Aqui está o meu código do LOCATOR
public class Locator {  
	private Locator(){}
		 
	@SuppressWarnings("unchecked")
	public static Object getInstanceEJB(String JndiNameRemote,Class clazz){
		Properties properties = new Properties();

			properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
			properties.put("java.naming.factory.url.pkgs","=org.jboss.naming:org.jnp.interfaces");	
			properties.put("java.naming.provider.url","localhost:1099"); 
							 
		try {
			Context context = new InitialContext(properties);
				return context.lookup("com.br.session.interfaces.UserSessionRemote");

		} catch (NamingException e) {
			System.out.println("Problemas no Locator do EJB com o JNDI = " + JndiNameRemote + " (" + clazz.getName() + ") >>" + e.getMessage());
			e.printStackTrace();
			return null;
		}		
		
	}

Fiz algumas alterações para teste mais o carinha é esse.
Valeu pessoal :oops:

E

Galera o problema era o JBOSS que estava com a porta 1099 zuada com um aplicativo travando.

Valeu pela força. :stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue:

Criado 30 de setembro de 2010
Ultima resposta 1 de out. de 2010
Respostas 4
Participantes 3