Codigo esta derrubando banco MySQL

Olá, estou com o seguinte problema em meu codigo fonte, quando executo ele, ele trabalha normalmente até que chega na metade do processo e ele derruba todo o meu banco, só consigo fazer voltar a funcionar levatando o serviço no windows.

Ele devolve o seguinte erro

[quote]com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.BindException: Address already in use: connect

STACKTRACE:

java.net.SocketException: java.net.BindException: Address already in use: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2555)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
[/quote]

Poste seu código.

Você está abrindo muitas conexoes?! Está fechando todas corretamente?

Olá, só esta abrindo uma conexão e a mesma esta sendo fechada ao final do codigo…

estou postando a parte do codigo que foi incluida no projeto e apresentou o erro…

Sem essa parte do codigo o sistema funciona normalmente, mas preciso dessa parte pois ele faz o calculo das horas.

[code] String[][] valor_minutos = new String[quantidade_linhas][2];
String minutagem_tim = “00:00:00”;
index.progresso_gera_valores_tim_time.setString (i+“DE “+quantidade_linhas+” LINHAS VERIFICADAS”);
index.progresso_gera_minutos.setMaximum (quantidade_linhas);
while(i<=quantidade_linhas)
{
String[][] valores = minutagem_g (valores_numeros[i][0]);
int valor_t = minutagem_g_tamanho (valores_numeros[i][0]);
valor_t = valor_t - 1;
int a = 0;
index.progresso_gera_valores_tim_time.setMaximum (valor_t);
index.progresso_gera_valores_tim_time.setValue (0);
while(a<=valor_t)
{
try
{
System.out.println (“select addtime(’”+minutagem_tim+"’,’"+valores[a][1]+"’)");
System.out.println (“SELECT numAcs, duracao FROM contas_tim c where NumAcs = '”+valores_numeros[i][0]+"’ and duracao like ‘%00:%’");
System.out.println (“SELECT count(numAcs) FROM contas_tim c where NumAcs = '”+valores_numeros[i][0]+"’ and duracao like ‘%00:%’ group by NumAcs");
System.out.println (valor_t);
System.out.println (a);
minutagem_tim = operacional.busca.getData (“select addtime(’”+minutagem_tim+"’,’"+valores[a][1]+"’)");
}
catch (SQLException ex)
{
ex.printStackTrace ();
}
a++;
index.progresso_gera_valores_tim_time.setValue (a);
}
valor_minutos[i][0] = valores_numeros[i][0];
valor_minutos[i][1] = minutagem_tim;
minutagem_tim = “00:00:00”;
index.progresso_gera_valores_tim_time.setString (i+“DE “+quantidade_linhas+” LINHAS VERIFICADAS”);
i++;
/* String insert = “INSERT INTO minutagem_tim(numero, minuto) VALUES(’”+valor_minutos[i][0]+"’,’"+valor_minutos[i][1]+"’);";
try
{
stat.execute (insert);
}
catch (SQLException ex)
{
ex.printStackTrace ();
}
index.progresso_gera_minutos.setValue (i);
i++;
System.out.println (quantidade_linhas);
System.out.println (i);*/
}
while(i<=quantidade_linhas)
{
try
{
conn2 = banco.getConnection ();
}
catch (SQLException ex)
{
ex.printStackTrace ();
}
try
{
stat2 = conn.createStatement ();
}
catch (SQLException ex)
{
ex.printStackTrace ();
}
String insert = “INSERT INTO minutagem_tim(numero, minuto) VALUES(’”+valor_minutos[i][0]+"’,’"+valor_minutos[i][1]+"’);";
try
{
stat2.execute (insert);
}
catch (SQLException ex)
{
ex.printStackTrace ();
}
index.progresso_gera_minutos.setValue (i);
i++;
System.out.println (quantidade_linhas);
System.out.println (i);
try
{
conn2.close ();
stat2.close ();
}
catch (SQLException ex)
{
ex.printStackTrace ();
}

        &#125;
        
       [/code]