Bonjour à tous
Quand j'execute mon appli EJB 3 j(ai l'exception suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
	at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
	at javax.naming.InitialContext.lookup(InitialContext.java:351)
	at test.Test.main(Test.java:13)
le client:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public class Test {
	public static void main(String[] args) {
	    try {
	        InitialContext ctx = new InitialContext();
	        ScriptFacade bean = ( ScriptFacade)   ctx.lookup("com.elyx.application.entity.ScriptFacadeBean");
	        Script script=new Script(5, "pan", "zoom", "agrandir la carte");
	         bean.add(script) ;
	    } catch (NamingException e) {
	        e.printStackTrace();
	    }
	} 
}
la classe entité:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
@Entity
@Table(name="script")
public class Script implements Serializable {
	private static final long serialVersionUID = 1L;
	private int id ;
	private String nom ;
	private String description ;
	private String contenu ;
        ......
l'interface:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
@Remote
public interface ScriptFacade {
	public void add(Script script) ;
	public void delete(Script script) ;
	public void update(Script script) ;
	public String[] search(String key);
}
la classe stateless
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Stateless
public class ScriptFacadeBean implements ScriptFacade{
	@PersistenceContext (unitName="elyxDoc")
	private EntityManager em;
	public void add(Script script) {		
		em.persist(script) ;
	}
	public void delete(Script script) {
		script=em.merge(script) ;
		em.remove(script) ;		
	}
	public void update(Script script) {
		script=em.merge(script) ;	
	}
merci d'avance pour votre aide