Dynamo DB Local-拒绝连接 [英] Dynamo DB Local - Connection Refused

查看:109
本文介绍了Dynamo DB Local-拒绝连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用AWS Java SDK连接到本地Dynamo DB。因此,我安装了本地Dynamo数据库并启动了javascript shell。一切正常,shell开始于通常的地址 http:// localhost:8000 / shell /

I am trying to connect to Local Dynamo DB using the AWS Java SDK. So I installed the Local Dynamo DB and started the javascript shell. All works fine and the shell starts at the usual address http://localhost:8000/shell/

现在当我尝试通过AWS开发工具包访问Dynamo数据库实例时,事情开始崩溃。

Now when I try to access the Dynamo DB Instance via the AWS SDK things start to break.

这是我的代码:

public class MyDynamoDB {
    private AmazonDynamoDBClient client;

    public MyDynamoDB() {
        client = new AmazonDynamoDBClient();
        client.setEndpoint("http://localhost:8000");
    }

    public void saveAndLoad() {
        DynamoDBMapperConfig config = new DynamoDBMapperConfig(new TableNameOverride("xyz"));
        DynamoDBMapper mapper = new DynamoDBMapper(client, config);
        Data data = new Data();
        ...
        mapper.save(data);


        //check if persisted
        Data d = mapper.load(Data.class, "Key");
        if (d != null) {
            System.out.println(" Found data: " + d.getStuff());
        } else {
            System.out.println("Data not found");
        }
    }
}

运行此命令以下堆栈跟踪

On running this I am getting the following stack trace

Nov 19, 2015 4:00:47 PM com.amazonaws.http.AmazonHttpClient executeHelper
INFO: Unable to execute HTTP request: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)


推荐答案

您需要在命令提示符下触发DynamoDB。

You need to trigger DynamoDB in command prompt..

Go Dynamodb cli的安装位置并运行以下命令

Go the location where the Dynamodb cli is installed and run the following command

java -Djava.library.path =。/ DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

验证它是否由 http:// localhost:8000 / shell /

这篇关于Dynamo DB Local-拒绝连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆