Olá pessoal, beleza?
:!:
seguinte…estava faznedo uma appzinha de teste com o eclipse utilizando um session bean stateless e um entity bean CMP…para gravar alguns dados no banco(mysql)…
no inicia a aplicação não rodava… o compilador em tempo de execução acusava que não conseguia encontrar a referencia local (LocalHome) so meu enity bean…
Por exemplo…quando criei um entity bean chamado Funcionario…o eclipse…criou para mim um service Locator chamado “FuncionarioUtil”…
e era nessa classe que estava meu problema…
pois quando eu tentava usar esse metodo :
/**
* Obtém a interface home local a partir do contexto inicial padrão
* @return Interface Home Local para Funcionario. Busca usando COMP_NAME
*/
public static operacional.domains.ejbs.entitys.FuncionarioLocalHome getLocalHome() throws NamingException
{
// Interfaces Home Locais não devem sofrer um narrow, já que não há RMI involvido.
if (cachedLocalHome == null) {
// Obtém o contexto inicial
InitialContext initialContext = new InitialContext();
try {
cachedLocalHome = (operacional.domains.ejbs.entitys.FuncionarioLocalHome) initialContext.lookup(operacional.domains.ejbs.entitys.FuncionarioLocalHome.COMP_NAME);
} finally {
initialContext.close();
}
}
return cachedLocalHome;
}
eu recebia a seguinte exceção :
[quote]javax.ejb.EJBException: null; CausedByException is:
ejb not bound[/quote]
entaum eu troquei a constante utilizada para fazer a pesquisa JNDI…
[quote] de operacional.domains.ejbs.entitys.FuncionarioLocalHome.COMP_NAME
para operacional.domains.ejbs.entitys.FuncionarioLocalHome.JNDI_NAME
public static final String COMP_NAME=“java:comp/env/ejb/FuncionarioLocal”;
public static final String JNDI_NAME=“FuncionarioLocal”;
[/quote]
e dai funcionou…
só que apartir do momento que eu mando gerar os beans novamente(Generate)…ou que eu executo o meu script ant…ele volta a constante anterior…
onde esta localizado esta definição…?
porque ele usa a COMP_NAME e não a JNDI_NAME , que é a que fiunciona??
como posso resolver isso…?
Valeu pessoal! :!: :lol: :!: