0

我在我的 java 应用程序中使用 JPA(EclipseLink impl)。当系统级别没有配置代理时,应用程序可以工作,但是当我在系统级别配置代理时,应用程序失败

EntityManager entityManager = emf.createEntityManager();

并引发以下异常

Caused by: java.net.SocketException: Unknown proxy type : null
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:395)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137)
at java.net.Socket.connect(Socket.java:579)
... 24 more
at java.net.Socket.connect(Socket.java:528)

Caused by: java.net.SocketException: Unknown proxy type : null
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:241)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:395)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at java.net.Socket.connect(Socket.java:579)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:290)
... 25 more
at java.net.Socket.connect(Socket.java:528)

at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:241)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:290)
... 25 more

我怀疑它试图通过配置的代理访问 localhost 的 mysql db 并因此失败。但在系统级代理配置中,我已将以下 IP 配置为忽略主机

127.0.0.1 localhost

并使用以下 jdbc url

<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/clharvester" />
4

1 回答 1

0

当您使用代理时,您必须使用服务器机器的真实 IP 地址连接到数据库。

于 2012-12-03T12:23:32.127 回答