Utiliser le pool de connection MySQL de Glassfish depuis une application standalone
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:
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:
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