2016-05-30 3 views
1

私はArangoDBをバックエンドデータベースとして使用するJavaアプリケーションを開発しました(ArangoDBにアクセスするためにArangoDB Java-Driver/Interfaceを使用)。Javaインタフェースを介したArangoDBへのリモートアクセス

私のArangoDBとアプリケーションが同じマシンに置かれるまで、すべてがうまくいきます。

私は、リモートマシン(専用サーバー)にArangoDBを移動したら、私のアプリケーションがアクセスすることができません:(

私はファイルのいくつかのプロパティで私のリモートマシンの詳細(ArangoDB Server)を与えられたとし、そのファイルの場所を供給していますArangoConfigureコンストラクタ私のコードのArangoDriverオブジェクトを作成するしかし、まだ私はArangoDBにアクセスできませんよ:(

小さなスニペットは以下である間:。。

protected static ArangoConfigure getConfiguration() { 
     //ArangoConfigure configure = new ArangoConfigure(); 
     ArangoConfigure configure = new 
ArangoConfigure("/Volumes/Official/ZLabs/arangodb.properties"); 
       configure.init(); 

     return configure; } 

    protected static ArangoDriver getArangoDriver(ArangoConfigure 
configuration) {  return new ArangoDriver(configuration);  } 

この点で私を助けてください

あなたの回答を待っています。

おかげ&敬具、 - マヒマヒ

答えて

1

Aranngodb Javaドライバが/Volumes/Official/ZLabs/arangodb.propertiesを開いたり、解析に失敗した場合には、ログメッセージを発行します。

arangodb性質がそのように見える場合:

port=8529 
host=192.168.22.17 
user=root 
password=OpenSesame 
enableCURLLogger=false 

あなたはfirewalsによる可能な接続の問題を回避するために、デバッグTCP接続の問題にwalking up the OSI modelを開始し、ルーティングなど 一つは、可用性をテストするために一般的に利用可能なtelnetコマンドを使用していますサーバーの:

telnet 192.168.22.17 8529 
Trying 192.168.22.17... 

それは永遠にそこに座っている場合、あなたはおそらく離れてあなたをフィルタリング、ファイアウォールを持っている、あなたはfinaly取得します:

telnet: Unable to connect to remote host: Connection timed out 

、それはすぐに終了した場合:

telnet: Unable to connect to remote host: Connection refused 

サーバーが応答しないようです。あなたが代わりにそれが127.0.0.1:8529を結合表示された場合

netstat -alpnt |grep 8529 
tcp  0  0 0.0.0.0:8529   0.0.0.0:*    LISTEN  19912/arangod 

は、あなたがすることはできません:あなたは、あなたが接続しようとしているサービスは、ポート(8529)を結合しているかどうかを確認することができ、サーバー側で

リモートで接続し、arangod.confを次のように変更する必要があります。

[server] 
endpoint = tcp://0.0.0.0:8529 

次に、ArangoDBを再起動します。すべてすべてのあなたの助けを@dothebart感謝の

telnet 192.168.22.17 8529 
Trying 192.168.22.17... 
Connected to 192.168.22.17. 
Escape character is '^]'. <start to type now: > 
GET/HTTP/1.0 

<server should reply:> 
HTTP/1.1 301 Moved Permanently 
Location: /_db/_system/_admin/aardvark/index.html 
Content-Type: text/html 
Server: ArangoDB 
Connection: Close 
Content-Length: 197 

<html><head><title>Moved</title></head><body><h1>Moved</h1> 
<p>This page has moved to <a href="/_db/_system/_admin/aardvark/index.html">/_db/_system/_admin/aardvark/index.html</a>. 
</p></body></html>Connection closed by foreign host. 
2

まず:次に、あなたはこのような何かを見ることができるはずです。

@dothebart、ここに投稿する前に、あなたが言及したすべての詳細をチェックしました。見逃しているのは、そのことを指摘してくれたHTTP接続性だ。

実際には、以下のコード変更により私の問題が解決しました。

以前のコード:

ArangoConfigure configure = new ArangoConfigure("/home/arango.properties"); 
configure.init(); 
ArangoDriver driver = new ArangoDriver(configuration); 

修正コード:

ArangoConfigure configure = new ArangoConfigure("/home/arango.properties"); 
ArangoHost hostObj = new ArangoHost(<IP-Address>, 8529); 
configure.setArangoHost(hostObj); 
configure.setUser(<user-name>); 
configure.setPassword(<password>); 
configure.init(); 
ArangoDriver driver = new ArangoDriver(configuration); 

再びホスト、ユーザ名とパスワードの設定は、それが動作するようになっている:(

ファイルを持っていますすべての詳細、なぜ私はそれらを再び提供する必要があります..私はそれを理解していませんでした。

@dothebartログファイルを見つけることができません。どこで見つけることができますか教えてください。

0

これはクラスパスにプロパティファイルが見つからないようです。

ログファイルのパスは、プロジェクトのログ設定ファイルで設定する必要があります。 プロジェクトでは、たとえばLogback(logback.xml)または別のslf4jの実装を使用できます。

関連する問題