Como definir o JNDI de um EJB 2.1 no Jboss 7.1.1

Olá pessoal,
estou fazendo a migração de uma aplicação com EJB 2.1 do jboss 4.2.3 para o jboss 7.1.1, porém eu gostaria de manter os JNDI declarados no jboss.xml, que agora no 7.1.1 foi substituido pelo jboss-ejb3.xml. Preciso disso por causa de outras aplicações legadas, assim eu não preciso mexer em meu serviceLocator etc.
Pesquisei bastante e não consegui fazer funcionar, consegui apenas que ele interpretasse o arquivo sem erros, porém o JNDI não fez efeito.
Abaixo segue exemplo de como era no jboss.xml e como eu tentei no jboss-ejb3.xml.

jboss.xml:

<session>
   <ejb-name>WidgetEJB</ejb-name>
   <jndi-name>com.company.app.ejb/WidgetEJB</jndi-name>
</session>

jboss-ejb3.xml:

<session>
   <ejb-name>WidgetEJB</ejb-name>
   <ejb-ref>
       <ejb-ref-name>WidgetEJB</ejb-ref-name>
       <lookup-name>com.company.app.ejb/WidgetEJB</lookup-name> (I tried with look-up and jndi-name, but no way it worked)
       <jndi-name>com.company.app.ejb/WidgetEJB</jndi-name>          
   </ejb-ref>            
</session>

Alguém pode ajudar?
Obrigado

no JBoss 7 ficou um pouco diferente…

Sintaxe ejb:[ear]/[ejbModule]//[Classe implementadora do EJB]![Caminho completo da interface do EJB]?[stateful ou stateless]

ex:

ejb:meu-projeto-ear/meu-projeto-ejb//MeuBOImpl!br.com.meuprojeto.MeuBO?stateful

ou leia este tutorial

Olá,
Eu entendi que mudou, porém pesquisando nos fóruns do jboss, o pessoal comentou que é possível definir o JNDI.
Tem alguns exemplos, mas nenhum funcionou…

Apenas complementando, já fiz testes com esse novo padrão de JNDI do Jboss 7.1 e funcionou.
Porém como tenho muitas aplicações legadas, fica muito trabalhoso alterar todas…

O próprio JBoss lista pra você ao startar… de todos os EJBs

mas a única maneira que consegui fazer o lookup foi da maneira que eu te mostrei acima…

Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
Context context = new InitialContext(jndiProperties);
String ejb = "meu-projeto-ear/meu-projeto-ejb//MeuBOImpl!br.com.meuprojeto.MeuBO?stateful";
Object obj = context.lookup(ejb);

Isso mesmo! Eu já havia feito alguns testes com os jndi que ele indica.
Fiz mais algumas pesquisas e acho que por enquanto não vai ser possível customizar meu JNDI mesmo…
O jeito é atualizar as aplicações para se adequarem ao novo padrão.
De qualquer forma obrigado!

Galera, só consegui fazer funcionar copiando meu .jar para a pasta WEB-INF/lib e setando esse caminho no class-path do arquivo MANIFEST.MF porém para projetos maiores eu vou ter que ficar duplicando dezenas de .jar

Quando troco esta linha ctx.lookup(“ejb:/clienteejb/AlunoFacade!facade.AlunoFacadeLocal”);
por este:
ctx.lookup("ejb:/lesejb/Aluno… ( lesejb é o projeto ejb que já está na pasta de deploy do jboss)
dá nesse erro:
[color=red]javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:[/color]

preciso colocar alguma coisa no class-path quando utilizar o .jar que está na pasta de deploy?

meu cliente está assim:

private static AlunoFacadeLocal lookupdaporra() throws NamingException{
		
		Properties jndiProps = new Properties();
        jndiProps.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
        InitialContext ctx = new InitialContext(jndiProps);
        
        return (AlunoFacadeLocal) ctx.lookup("ejb:/clienteejb/AlunoFacade!facade.AlunoFacadeLocal");
		
	}
	
	
	public Main() throws NamingException {
		// TODO Auto-generated method stub
		
		try {
			AlunoFacadeLocal alunoFacadeLocal;
			alunoFacadeLocal = lookupdaporra();
			
			ArrayList<Aluno> alunos = new ArrayList<Aluno>();
			alunos = (ArrayList<Aluno>) alunoFacadeLocal.findAll();
			 
			 System.out.println("SIZE: "+alunos.size());
			 
			 
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

alguém?