java.net.BindException: Address already in use: connect
Bonjour,
Je me retrouve confronté a un problème:
J'ai une application qui doit gerer des Province, Departement,Commune, Quartier qui sont des données recupérés dans une base sql server 2008.
J'ai crée un projet pour testé tout ca. voici comment j'appelle ma classe:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public static void main(String[] args) throws SQLException {
ArrayList<Province> listProvince = Province.getAll(); //Je récupere la liste de province...
ArrayList<Departement> listDepartement;
ArrayList<Commune> listCommune;
//J'affiche le contenu. Chacune des classe comportent des methodes me permettant de recuperer les éléments relatifs à un objet.
for(int i=0; i<listProvince.size(); i++){
listDepartement = listProvince.get(i).getDepartementList();
System.out.println(listProvince.get(i).getName());
for(int j=0; j<listDepartement.size();j++){
listCommune = listDepartement.get(j).getCommuneList();
System.out.println("|"+listDepartement.get(j).getName());
for(int k=0; k<listCommune.size();k++){
System.out.println("||"+listCommune.get(k).getName()+"("+listCommune.get(k).getTypeCommune()+")");
for(int l=0;l<listCommune.get(k).getQuartierList().size();l++){
System.out.println("--->"+listCommune.get(k).getQuartierList().get(l).getName());
}
}
}
}
} |
Et voici l'exemple de methode que j utilise dans chacune de mes classes (elles ont la même structure...) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Connection connex = ConnexionBase.getConnex();
ArrayList<Province> provinceList = new ArrayList<Province>();
try {
Province province;
ResultSet rs = null;
String requete = "select * from dbo.PROVINCE ORDER BY PRO_LIBEL";
PreparedStatement stmt = connex.prepareStatement(requete);
rs = stmt.executeQuery();
while (rs.next()) {
province = new Province();
province.setId(rs.getInt("PRO_CODE"));
province.setName(rs.getString("PRO_LIBEL"));
provinceList.add(province);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
connex.close();
}
return provinceList; |
Ma classe de connexion
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public static Connection getConnex(){
try {
com.microsoft.sqlserver.jdbc.SQLServerDataSource ds = new com.microsoft.sqlserver.jdbc.SQLServerDataSource();
ds.setServerName("192.168.8.51");
ds.setPortNumber(1433);
ds.setDatabaseName("mabase");
ds.setUser("user");
ds.setPassword("pass");
Connection con = ds.getConnection();
return con;
} catch (Exception e) {
System.out.println("Erreur de connection à la base:"+e.getMessage());
}
return null;
} |
Et voici mon erreur sur la console:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
// Au bout de 300-400 lignes...
||Peni(Canton)
--->Carrefour peny
--->Moureri
--->Peny 2
|Ogoulou
||Dibwa(Canton)
Erreur de connection à la base:Échec de la connexion TCP/IP à l'hôte . java.net.BindException: Address already in use: connect
java.lang.NullPointerException
at com.projet.model.Quartier.<init>(Quartier.java:31)
at com.projet.model.Commune.getQuartierList(Commune.java:114)
at com.projet.main.Exec.main(Exec.java:30)
java.lang.NullPointerException
at com.projet.model.Quartier.<init>(Quartier.java:45)
at com.projet.model.Commune.getQuartierList(Commune.java:114)
at com.projet.main.Exec.main(Exec.java:30)
Exception in thread "main" java.lang.NullPointerException
at com.projet.main.Exec.main(Exec.java:30) |
Voila je pense que je doit faire quelque chose de la mauvaise maniere...
Les sujet traitant de cette erreur me parlent tous d'une appli qui utilise deja un port or la je n'ai que cette application qui tourne et le probleme surgit de manière aléatoire (jamais au même moment)...
Merci de m'éclairer.