Exception em projeto EJB com Jboss

1 resposta
xan

bom sou iniciante com ejb e to com um problema que nao to conseguindo resolver, mesmo com mta pesquisa mas ta complicado
o estranho é que o mesmo projeto roda no pc de um amigo meu.. mas aqui nada, creio que seja algo errado na config
mas as configs aqui tambem estao iguais ao do pc dele..

to fazendo um projeto com EJB3.x, usando o JBoss4.0.4 (no 4.0.3 da o msmo problema), e o JBossIDE eclipse
quando vou compilar, o projeto nao tem nenhum erro, ja tentei mudar a linha com "problema"
que é a linha do lookup, mas nao da certo tambem

private static String typeJndi = "remote";
com a linha:
result = initialContext.lookup(classe.getSimpleName()+ "/" + typeJndi);
retorna essa exception:
javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.ejb3.LocalProxy; local class incompatible: stream classdesc serialVersionUID = 6042646703631784907, local class serialVersionUID = -7089389644057030711]
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at service.ServiceLocator.get(ServiceLocator.java:54)
	at cc.Main.main(Main.java:16)
quando uso essa linha:
result = initialContext.lookup(classe.getName() + "/" + typeJndi);
retorna essa outra exception:
javax.naming.NameNotFoundException: cc.manager.UCCartaoCredito not bound
e nao consigo resolver.. ja procurei varios sobre isso e nada.. a classe inteira é essa:
public class ServiceLocator 
{
	private static String typeJndi = "remote";
			
	private static ServiceLocator locator;
	private InitialContext initialContext;

	private ServiceLocator()
	{
		try 
		{
			Hashtable<String, String> t = new Hashtable<String, String>();
			t.put(Context.INITIAL_CONTEXT_FACTORY,     "org.jnp.interfaces.NamingContextFactory");
			t.put(Context.PROVIDER_URL, "localhost");
			t.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

			initialContext = new InitialContext(t);

		}
		catch (Exception exc) 
		{
			exc.printStackTrace();
		}
	}
	
	public static ServiceLocator getInstance()
	{
		if (locator == null) 
		{
			locator = new ServiceLocator();
		}
		return locator;
	}
	
	protected Object clone() throws CloneNotSupportedException
	{
		throw new CloneNotSupportedException
			("Não e possivel clonar o ServiceLocator!");
	}
	
	public Object get(Class classe) throws Exception 
	{
		try
		{
			Object result = null;
			//result = initialContext.lookup(classe.getSimpleName()+ "/" + typeJndi);
			result = initialContext.lookup(classe.getName() + "/" + typeJndi);
			//result = Class.forName(classe.getName() + "/remote", true, cl);


			if(result==null){
				throw new NamingException();
			}
	
			return result;
		}
		catch (NamingException e) 
		{
			e.printStackTrace();
		}
		return null;
	}

}

se alguem puder ajudar.. ja agradeço

1 Resposta

xan

problema resolvido.

a linha

resolve o problema, ai gerou outra exception de [L]alguma coisa
essa exception é um bug do JBoss com o jre6, no jar jboss-remoting
esse bug é resolvido ou mudando esse jar internamente, ou utilizando o 1.5 ou adicionando a diretiva:

na compilação.

de qq forma vlw.

Criado 22 de novembro de 2008
Ultima resposta 24 de nov. de 2008
Respostas 1
Participantes 1