bonjour,
je crée une application avec websphere et pour me connecter à ma base de donnée postgresql, j'utilise jndi et les datasources. Ensuite j'ai configurer le jdbc provider dans le serveur de websphere. En théorie cela devrait marcher et la configuration du jdbc provider n'est pas en cause (je pense), aussi j'ai bien importer les packages nécéssaire pour le jndi (j2cImpl.jar, naming.jar, namingclient.jar) sans oublier le jdbc.
Ensuite lorsque je lance mon application j'obtiens ces messages dans la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Connection en cours... Exception in thread "main" java.lang.ExceptionInInitializerError at utile.Application.<init>(Application.java:22) at utile.Main.main(Main.java:7) Caused by: java.util.MissingResourceException: Can't find bundle for base name ApplicationRessources, locale fr_BE at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:825) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:794) at java.util.ResourceBundle.getBundle(ResourceBundle.java:532) at connection.PgConnect.<clinit>(PgConnect.java:21) ... 2 more
donc voilà ! le problème semble que websphere ne trouve pas le fichier properties.
je vous met le code de ma classe pour me connecter et de mon fichier properties.
PgConnect.java :
ApplicationResources.properties
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 import java.sql.*; import java.util.*; import javax.naming.InitialContext; import javax.sql.DataSource; import java.util.PropertyResourceBundle; /* @author Manu */ public class PgConnect { protected static String username; protected static String password; protected static String datasourceJndiName; protected static String datasourceSchemaName; protected static DataSource ds; protected static Vector poolConnect = new Vector(); static { PropertyResourceBundle properties = (PropertyResourceBundle) PropertyResourceBundle.getBundle("ApplicationRessources"); datasourceJndiName = properties.getString("cours.websphere.datasource.name"); datasourceSchemaName = properties.getString("cours.websphere.datasource.schemaname"); username = properties.getString("cours.websphere.datasource.userid"); password = properties.getString("cours.websphere.datasource.password"); ds = getDataSource(); } public static DataSource getDataSource() { DataSource dsLiee = null; try { InitialContext context = new InitialContext(); dsLiee = (DataSource) context.lookup(datasourceJndiName); } catch (javax.naming.NamingException ne) { System.out.println("erreur de nom : " + ne); ne.printStackTrace(); } return dsLiee; } public static Connection getConnection() { try { System.out.println("Connection dbc = ds.getConnection("+username+", "+password+");"); Connection dbc = ds.getConnection(username, password); System.out.println("poolConnect.addElement(dbc);"); poolConnect.addElement(dbc); System.out.println("return dbc;"); return dbc; } catch (Exception e) { System.out.println("erreur de connexion " + e); e.printStackTrace(); return null; } } public static void closeConnection(Connection dbc) { try { dbc.close(); poolConnect.remove(dbc); } catch (Exception e) { System.out.println("erreur de fermeture " + e); e.printStackTrace(); } } public static void closeAllConnections() { while (poolConnect.size() > 0) { Connection dbc = (Connection) poolConnect.elementAt(0); closeConnection(dbc); } } }
je met le construction de la classe qui fait le getConnection sur la classe PgConnect.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 # Optional header and footer for <errors/> tag. #errors.header=<ul> cours.websphere.datasource.name=mypgsql cours.websphere.datasource.schemaname=public cours.websphere.datasource.userid=manu cours.websphere.datasource.password=manu #errors.footer=</ul>
le reste de la classe n'importe peu
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 public Application(){ System.out.println("Connection en cours..."); Connection dbc = PgConnect.getConnection(); if(dbc==null) { System.out.println("connexion impossible"); System.exit(0); } else { AdminDB.setPgCon(dbc); CircuitDB.setPgCon(dbc); CourseDB.setPgCon(dbc); EcurieDB.setPgCon(dbc); Grand_prixDB.setPgCon(dbc); PiloteDB.setPgCon(dbc); PiloteParticipeCourseDB.setPgCon(dbc); SaisonDB.setPgCon(dbc); System.out.println("Connection etablie"); menu(); } }
j'espère toujours trouver la solution et Merci d'avance
Partager