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
com a linha:
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:
retorna essa outra exception:
e nao consigo resolver… ja procurei varios sobre isso e nada…
a classe inteira é essa:
[code]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;
}
}[/code]
se alguem puder ajudar… ja agradeço