2016-06-03 2 views
0

Gemfire 서버를 시작하고 다음 주소로 바인딩합니다. myserver : 10344. (서버와 로케이터는 문제없이 시작됩니다.) 그런 다음 GFSH와 클라이언트 "펄스"에 의한 연결을 확인합니다. 모든 검사가 성공적입니다. 다음 단계에서는 Java 클라이언트를 개발하고 서버에 연결할 수 없습니다.Gemfire JDBC 연결 예외

내 프로젝트는 다음과 같은 종속성 메이븐에 의해 구축

:

<dependency> 
     <groupId>com.pivotal.gemfirexd</groupId> 
     <artifactId>gemfirexd</artifactId> 
     <version>1.4.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.pivotal.gemfirexd</groupId> 
     <artifactId>gemfirexd-client</artifactId> 
     <version>1.4.1</version> 
    </dependency> 

(모든 Gemfire 종속성이 http://dist.gemstone.com/maven/release에서 다운로드)

코드 소스 : 나는 다음과 같은 예외가

package com.mycompany.app; 
import java.sql.Connection; 
import java.sql.DriverManager; 

public class App { 

    private void connect() { 
     try { 
      Class.forName("com.pivotal.gemfirexd.jdbc.ClientDriver"); 

      String x = "jdbc:gemfirexd://myserver:10344/"; 

      System.out.println(x); 

      final Connection conn = DriverManager.getConnection(x); 

      System.out.println("Connected "); 
      conn.close(); 
      System.out.println("Disconnected"); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public static void main(String[] args) { 
     new App().connect(); 
    } 
} 

:

java.sql.SQLNonTransientConnectionException: A communications error has been detected: Failed after trying all available servers: [], for control URL: myserver[10334]. 
    at com.pivotal.gemfirexd.internal.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:77) 
    at com.pivotal.gemfirexd.internal.client.am.SqlException.getSQLException(SqlException.java:401) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.getPreferredServer(NetConnection.java:1554) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.preConnect(NetConnection.java:1902) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.newAgent_(NetConnection.java:2368) 
    at com.pivotal.gemfirexd.internal.client.am.Connection.<init>(Connection.java:595) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.<init>(NetConnection.java:248) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection40.<init>(NetConnection40.java:86) 
    at com.pivotal.gemfirexd.internal.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(ClientJDBCObjectFactoryImpl40.java:290) 
    at com.pivotal.gemfirexd.jdbc.ClientDriver.connect(ClientDriver.java:161) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at com.mycompany.app.App.connect(App.java:15) 
    at com.mycompany.app.App.main(App.java:27) 
Caused by: DisconnectException 08006: A communications error has been detected: Failed after trying all available servers: [], for control URL: myserver[10334]. 
    ... 12 more 
Caused by: java.sql.SQLNonTransientConnectionException: A communications error has been detected: Connection reset. 
    at com.pivotal.gemfirexd.internal.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:77) 
    at com.pivotal.gemfirexd.internal.client.am.SqlException.getSQLException(SqlException.java:401) 
    at com.pivotal.gemfirexd.jdbc.ClientDriver.connect(ClientDriver.java:170) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.getPreferredServer(NetConnection.java:1451) 
    ... 11 more 
Caused by: DisconnectException 08006: A communications error has been detected: Connection reset. 
    at com.pivotal.gemfirexd.internal.client.net.NetAgent.throwCommunicationsFailure(NetAgent.java:527) 
    at com.pivotal.gemfirexd.internal.client.net.Reply.fill(Reply.java:183) 
    at com.pivotal.gemfirexd.internal.client.net.Reply.ensureALayerDataInBuffer(Reply.java:222) 
    at com.pivotal.gemfirexd.internal.client.net.Reply.readDssHeader(Reply.java:324) 
    at com.pivotal.gemfirexd.internal.client.net.Reply.startSameIdChainParse(Reply.java:1154) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnectionReply.readExchangeServerAttributes(NetConnectionReply.java:61) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.readServerAttributesAndKeyExchange(NetConnection.java:1013) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.flowServerAttributesAndKeyExchange(NetConnection.java:941) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.flowUSRIDONLconnect(NetConnection.java:796) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.flowConnect(NetConnection.java:580) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection.<init>(NetConnection.java:259) 
    at com.pivotal.gemfirexd.internal.client.net.NetConnection40.<init>(NetConnection40.java:86) 
    at com.pivotal.gemfirexd.internal.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(ClientJDBCObjectFactoryImpl40.java:290) 
    at com.pivotal.gemfirexd.jdbc.ClientDriver.connect(ClientDriver.java:161) 
    ... 14 more 
Caused by: java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(Unknown Source) 
    at java.net.SocketInputStream.read(Unknown Source) 
    at com.pivotal.gemfirexd.internal.client.net.Reply.fill(Reply.java:181) 
    ... 26 more 

답변

0

이 게시물은 오래된 게시물이지만, 여전히 알고 싶다면 ...

jdbc url에서 지정하는 포트가 피어 - 회원 검색 포트가 아니라 client-port (기본값 1527)입니다. 당신은 로케이터를 시작

존재해야 같은 클라이언트 포트 번호에 있었다 정보 (지정하지 않는 경우, 기본값은 1527)

... 가 피어 검색을 사용 GemFireXD 로케이터 시작을했습니다 : 로컬 호스트 [10334] 주소의 로컬 호스트에서 GemFireXD 로케이터에 대한 네트워크 서버를 시작/127.0.0.1 [1527]

는 다음과 같이 JDBC URL이 있어야한다 :

문자열 X = "JDBC : gemfirexd을 : // myserver를 : 1527/";