我在我的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数据库,从而失败。但是在系统级代理配置中,我将以下IP配置为忽略主机
127.0.0.1
localhost
并使用以下jdbc url
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/clharvester" />
答案 0 :(得分:0)
当您使用代理时,您必须使用服务器机器的真实IP地址连接到数据库。