Problemas com o tomcat / conexão com o BD (Windows 8)

13 respostas
S

[color=blue][b]Quando uso a porta default do tomcat (8080) ele fica startando, sartando, mas nunca conecta… até vir o seguinte erro:

“Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.”

Porém, consegui iniciá-lo ao trocar a porta de 8080 para 8084.

A partir daí, meu drama mudou de lado. Ao tentar encerrar a conexão, vem o seguinte erro: [/b][/color]

Nov 03, 2012 1:25:36 AM org.apache.catalina.startup.Catalina stopServer

SEVERE: Catalina.stop:

[color=red]java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine [/color]

at java.net.DualStackPlainSocketImpl.connect0(Native Method)

at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)

at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)

at java.net.AbstractPlainSocketImpl.connect(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.(Unknown Source)

at java.net.Socket.(Unknown Source)

at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:499)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:371)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:453)

[color=blue][b]Já reinstalei o tomcat diversas vezes(versões diferentes), troquei portas, mexi com firewall, rodei plug-ins diferentes no eclipse, troquei jdk, reconfigurei as variaveis de ambiente, enfim… Não sei mais o que fazer, então resolvir recorrer ao fórum.
Alguém ai pode me ajudar?

Verifiquei que esse erro também atrapalha a minha conexão com o banco… Então pra mim tá impossivel desenvolver alguma coisa :// [/b][/color]

Exception in thread “main” java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

[i]The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

at br.com.caelum.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:14)

at br.com.caelum.jdbc.JDBCInsere.main(JDBCInsere.java:11)

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)

at com.mysql.jdbc.MysqlIO.(MysqlIO.java:350)

at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:240

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2445)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2230)

at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:813)

at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at br.com.caelum.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:12) 1 more

[color=red]Caused by: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine [/color]

at java.net.DualStackPlainSocketImpl.connect0(Native Method)

at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)

at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)

at java.net.AbstractPlainSocketImpl.connect(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.(Unknown Source)

at java.net.Socket.(Unknown Source)

at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)

at com.mysql.jdbc.MysqlIO.(MysqlIO.java:300) 16 more[/i]

PS: Estou usando o Windows 8 Pro.

13 Respostas

R

Como está a configuracao do seu banco de dados ?

Qual BD ? PostgreSQL ? MySQL ?

O serviço do banco de dados está sendo executando ? no windows por exemplo voce digita services.msc no prompt e da enter, vai abrir a tela dos serviços, e la voce verifica se esta rodando.

Abraços.

romarcio
Confere se i ip e a porta que você está usando estão corretos.

Confere se i ip e a porta que você está usando estão corretos.

S

rof20004:
Como está a configuracao do seu banco de dados ?

Qual BD ? PostgreSQL ? MySQL ?

O serviço do banco de dados está sendo executando ? no windows por exemplo voce digita services.msc no prompt e da enter, vai abrir a tela dos serviços, e la voce verifica se esta rodando.

Abraços.

MySQL… e sim, já havia verificado o serviço. O banco roda normalmente…

S
romarcio:
Caused by: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine

Confere se i ip e a porta que você está usando estão corretos.

127.0.0.1 localhost
porta 3306

na aplicação ta assim:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConectaMySQL {
	public static void main(String[] args) {
		Connection connection = getConnection();
		}
	
	public static Connection getConnection() {
		System.out.println("Conectando ao banco de dados...");
		try {
			Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/agenda","root","root");
			System.out.println("CONECTADO.");
			return connection;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}

}
e isso
Caused by: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
é o que mais me intriga.

tanto quando conecto com o tomcat, ou no mysq, o erro é o mesmo. :/

romarcio

Verifica se o seu SO não está de alguma maneira bloqueando a porta 3306.

S

eu desativei o firewall do windows e do kaspersky… tem outra forma de bloquear uma porta?

romarcio

eu desativei o firewall do windows e do kaspersky… tem outra forma de bloquear uma porta?

Acho que não. :frowning:

rderoci
samuelhss:
romarcio:
Caused by: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine

Confere se i ip e a porta que você está usando estão corretos.

127.0.0.1 localhost
porta 3306

na aplicação ta assim:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConectaMySQL {
	public static void main(String[] args) {
		Connection connection = getConnection();
		}
	
	public static Connection getConnection() {
		System.out.println("Conectando ao banco de dados...");
		try {
			Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/agenda","root","root");
			System.out.println("CONECTADO.");
			return connection;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}

}
e isso
Caused by: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
é o que mais me intriga.

tanto quando conecto com o tomcat, ou no mysq, o erro é o mesmo. :/

Não vejo a porta sendo passada para a String de conexão...

jdbc:mysql://localhost:3306/agenda

Abs,
Romulo Rocha

romarcio

rderoci, não precisa, desde que você utilize a porta padrão do MySQL que é a 3306. Se mudar a porta nas configurações, dai vai precisar passar a porta na url.

S

Exatamente…(de qualquer forma eu tbm já tinha tentadado isso x.x)

Eu to usando o WINDOWS 8, e parece que o problema pode estar relacionado ao IPv6…

ideias de solução?? (:

romarcio

samuelhss:
Exatamente…(de qualquer forma eu tbm já tinha tentadado isso x.x)

Eu to usando o WINDOWS 8, e parece que o problema pode estar relacionado ao IPv6…

ideias de solução?? (:

Não sei nada de Win 8 ainda, mas vai que pode ser o problema sim.

S

quando fiz o “ping” no “localhost”, vi que o ip tava com algo tipo ‘::1’ e não o ‘127.0.0.1’.

Resolvi o problema da conexão com o MySQL desativando o IPv6 do Win8.

ta aqui o método: http://www.addictivetips.com/windows-tips/how-to-disable-ipv6-in-windows-7/

Só que o Tomcat continua com o mesmo problema ao fechar a conexão.

Nov 04, 2012 1:49:23 AM org.apache.catalina.startup.Catalina stopServer SEVERE: Catalina.stop: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:499) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:371) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:453)

S

LOL, o erro voltou e agora eu não sei mais o que fazer…

vou pra ultima alternativa que é virtualizar o windows 7, pra ganhar tempo e depois retroceder o SO :///

Criado 3 de novembro de 2012
Ultima resposta 5 de nov. de 2012
Respostas 13
Participantes 4