簡體   English   中英

Gemfire JDBC連接異常

[英]Gemfire JDBC connection exception

我啟動Gemfire服務器,並將其綁定到以下地址:myserver:10344。 (服務器和定位器啟動沒有問題)之后,我檢查了GFSH和客戶端“ pulse”的連接。 所有檢查均成功。 在下一步中,我將開發Java客戶端,並且無法與服務器建立連接。

我的項目是由Maven構建的,具有以下依賴關系:

   <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

我看到這是一個舊帖子,但以防萬一您仍然想知道...。

您在jdbc URL中指定的端口是指對等成員發現端口,而不是客戶端端口(默認為1527)。

啟動定位器時,應該在客戶端端口號上包含此類信息(如果未指定,則默認為1527)。

...在以下位置使用對等發現啟動GemFireXD定位器:本地主機[10334]在地址localhost / 127.0.0.1 [1527]上啟動GemFireXD定位器的網絡服務器。

您的jdbc網址應如下所示:

字符串x =“ jdbc:gemfirexd:// myserver:1527 /”;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM