Bonjour,

J'ai un serveur Glassfish configuré avec un pool de connections vers un base de données MySQL d'une part. D'autre part j'ai une application avec des fenêtres en Swing qui accédent à cette même base de données. Du coups je voudrais bien utiliser le pool de Glassfish plutôt que tout me faire à la mimine.

Dans mon serveur Glassfish v3.1 j'ai créé :
  • un pool de connection (jProductBaseMySQLPool) vers mon serveur MySQL.
  • une ressource JDBC (jProductBaseResource) qui utilise le pool précédent.

Maintenant je fais un projet java SE sous Eclipse avec comme main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
	public static void main(String[] args) {
		try {
			InitialContext ctx = new InitialContext();
			javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("jProductBaseResource");
			Connection c = ds.getConnection();
			PreparedStatement  stmt = c.prepareStatement("SELECT * FROM productType");
			ResultSet rs = stmt.executeQuery();
 
			while (rs.next()) {
				System.out.println("\nProductType : ");
				System.out.println("\tidProductType : "
						+ rs.getInt("idProductType"));
				System.out.println("\ttimestamp : " + rs.getInt("timestamp"));
				System.out.println("\tstate : " + rs.getInt("state"));
				System.out.println("\tname : " + rs.getInt("name"));
			}
			c.close();
			ctx.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
Qui me renvois l'erreur 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(Unknown Source)
	at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
	at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
	at javax.naming.InitialContext.lookup(Unknown Source)
	at Main.main(Main.java:17)
Précision : la ligne 17 c'est celle qui contient ctx.lookup...


J'erre sur le web depuis ce matin sans succés. Je suis parti de l'exemple fournis sur : ici mais je ne vois pas où ca pêche.


Si vous avez des pistes ou tutos concernant cette problèmatique je suis preneur.

Merci.


S. Combes