小编mis*_*ena的帖子

AWS.SimpleQueueService.NonExistentQueue访问现有SQS队列时抛出异常

我对AWS SQS服务比较陌生.我已经编写了一些代码来包装Amazon SQS api.

我能够使用创建的队列执行基本功能,但尽管如此(事实上我一直在使用这段代码没有问题,而且我正在创建JUnit测试作为形式),我因为一个错误导致我的JUnit测试失败对我来说没什么意义.

我使用AWS管理控制台创建了一个名为SerenaQForTest的队列.当我查看AWS控制台时,我可以看到列出了我创建的队列.我已将队列的权限设置为为所有人打开.我在Java编码.

当我尝试与队列交互时,我得到一个带有错误代码AWS.SimpleQueueService.NonExistentQueueerror的AmazonServiceException.

这是我的代码.

在Junit类中:

/**
 * Prefix for queues used to run junit tests.
 */
private static final String TESTQ = "SerenaForTest";

/**
 * Ensures that the queue exists.
 */
@Test
public void testExists() {
    System.out.println("JUnit Test EXISTS.");
    CloudSQS cloudsqs = new CloudSQS();
    // this queue does exist and i can see it through the aws management console in sqs
    assertTrue(cloudsqs.exists(TESTQ));
    // this queue does not exist.
    assertTrue(cloudsqs.exists("thisQDoesNotExist") == false);
}
Run Code Online (Sandbox Code Playgroud)

而exists()的定义如下:

/**
 * Determines …
Run Code Online (Sandbox Code Playgroud)

java amazon-sqs amazon-web-services

8
推荐指数
3
解决办法
2万
查看次数

你如何确定.sqlite或.sqback在Java中是否已损坏?

我得到了一个目录目录,每个目录都包含我必须解析的.sqlite和.sqback文件的集合.

问题是我相信其中一些文件在收到时会损坏,因为我收到错误:错误:[SQLITE_CORRUPT]当我尝试处理它们时,我的控制台上的数据库磁盘映像格式错误(数据库磁盘映像格式错误) .这只发生在某些文件中.我已经隔离了一些,并尝试单独运行我的程序在这些坏文件的新副本上,它们会导致错误.大多数文件虽然很好:)

我意识到我有可能确实会被给予损坏的文件,所以在尝试解析它们之前,我想要一种方法来确定哪些文件是好的,哪些文件不是.

我是用Java写的.我只对sqlite和sqback验证感兴趣,因为我知道我的解析器工作.我正在重复使用之前的项目.

暗示?建议?答案?

非常感谢知识转移.

java sqlite android corruption

7
推荐指数
1
解决办法
1641
查看次数

Amazon SNS Apple推送通知教程中的错误(空指针异常)

我的目标最终目标是通过SNS向iOS应用发送推送通知.我正在逐步完成本教程:http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html.

我已在我的AWS凭据中添加,并添加了相应的apns凭据,用于我的应用程序的开发密钥,证书,私钥和当前推送令牌.当我运行教程时,我得到:

Exception in thread "main" java.lang.NullPointerException
at com.amazonaws.sns.samples.tools.AmazonSNSClientWrapper.getValidNotificationAttributes(AmazonSNSClientWrapper.java:162)
at com.amazonaws.sns.samples.tools.AmazonSNSClientWrapper.publish(AmazonSNSClientWrapper.java:80)
at com.amazonaws.sns.samples.tools.AmazonSNSClientWrapper.demoNotification(AmazonSNSClientWrapper.java:131)
at com.amazonaws.sns.samples.mobilepush.SNSMobilePush.demoAppleSandboxAppNotification(SNSMobilePush.java:438)
at com.amazonaws.sns.samples.mobilepush.SNSMobilePush.main(SNSMobilePush.java:68)
Run Code Online (Sandbox Code Playgroud)

在SNSMobilePush.java的顶部有一个名为attributesMap的Map.对于密钥Platform.APNS和Platform.APNS_SANDBOX,它最初的值设置为null.在代码期间,这些值永远不会改变,并且负责导致空指针异常.本教程未指示更改这些值.

我没有做任何超出教程说明的内容.

我知道我的凭据是正确的,因为我通过Amazon Management Console使用这些相同的凭据向我的iOS应用程序发送消息.

任何人都可以表示

  • 如果教程不完整
  • 与Platform.APNS_SANDBOX相关的值应该是为了使其工作
  • 任何提示,以帮助我解决这个问题

更新我在null检查中添加了getValidNotificationAttributes(),现在我可以使用本教程使用sns和apns发送推送通知.

push-notification amazon-web-services apple-push-notifications amazon-sns javaapns

7
推荐指数
1
解决办法
1270
查看次数

为Runnable Jars使用不同的属性文件,Maven Eclipse

我是Maven的新手.如果这是一个愚蠢的问题,我道歉.我有一个带有pom文件的Maven Eclipse项目,该文件使用shade插件创建一个可运行的jar.我的计划是包括一个在建几个属性文件(请纠正我,如果我的术语不正确.我真的是绿色的).我有多个属性文件位于src/main/resources中.

我想找到一种方法在runnable jar中只包含适用的属性文件.具体来说,我的项目中有两个属性文件(config1.properties,config2.properties),每个构建只使用其中一个文件,具体取决于生成的jar的所需功能.属性文件将被重新分配一个通用名称,特别是"defaultconfig.properties",以便它可以很好地与代码一起使用.

生成的jar文件(每个不同属性文件的不同文件)将作为单独的cron作业运行.我想我将使用不同的Jenkins项目根据属性文件配置项目的任务将可运行的jar部署到特定的服务器(我想我已经得到了这个部分).cron作业将在这些服务器上运行.

我的问题是:

1)逻辑在哪里确定哪些属性文件包含在可运行的jar中?

例如,假设我有config1.properties(指定使用var1 = blah和var2 = blip和var3 = boink)和config2.properties(指定使用var1 = duh var2 = dip和var3 = doink).我在哪里告诉Maven这两个文件中的哪一个用于特定版本?

2)我应该传递一个参数,告诉Maven使用哪个属性文件?如果是这样,我也会传递这个参数?这是可以在Jenkins项目中配置的吗?(即使只是一些基本的阅读会在这里帮助我,因为我不确定这是一个maven问题还是jenkins问题.我两个都是绿色的.)

这是我的pom.xml文件的相关部分:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer
                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>com.foo.dashboard.bar.Runner</mainClass>
                            </transformer>
                        </transformers>
                        <finalName>FooBar</finalName>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

我已尝试使用IncludeResourceTransformer重命名属性文件,但不确定如何根据所需的jar文件功能包含切换属性文件的逻辑.

谢谢.

java eclipse jar maven jenkins

5
推荐指数
1
解决办法
1611
查看次数

如何将 null 反序列化为 Double.NaN (Java, Jackson)

问题: Jackson ObjectMapper 反序列化器正在将 Double 字段的空值转换为 0。我需要将它反序列化为 null 或 Double.NaN。我怎样才能做到这一点?

我是否需要编写一个将 null 映射到 Double.NaN 的自定义 Double 反序列化器?

已经尝试过:我已经搜索了 DeserializationFeature Enum,但我认为不适用。(http://fasterxml.github.io/jackson-databind/javadoc/2.0.0/com/fasterxml/jackson/databind/DeserializationFeature.html#FAIL_ON_NULL_FOR_PRIMITIVES

动机:我正在将一个 json 对象反序列化为一个自定义对象 (Thing),其代码类似于以下内容。我需要解串器将值保持为 null 或将其更改为 Double.NaN,因为我需要能够区分 0 情况(位于纬度/经度/高度 = 0)和 null/Double.NaN 情况(当这些值不可用)。

杰克逊反序列化

try {
        ObjectMapper mapper = new ObjectMapper();
        Thing t = mapper.readValue(new File("foobar/json.txt"), Thing.class);

    } catch (JsonParseException e) {
        ...do stuff..
    }
Run Code Online (Sandbox Code Playgroud)

json.txt 的内容。请注意,值 null 实际写入文件中。它不会留空。它不是空字符串。它实际上是空这个词。

{
  "thing" : {
    "longitude" : null,
    "latitude" : null,
    "altitude" : null
  }
}
Run Code Online (Sandbox Code Playgroud)

事物的代码

import …
Run Code Online (Sandbox Code Playgroud)

java jackson deserialization json-deserialization

5
推荐指数
1
解决办法
5233
查看次数

.bat脚本在执行AWS Auto Scaling命令之前终止

我对Amazon Cloud Auto Scaling(以及所有AWS)都很陌生.

我目前正在尝试编写一个自动创建启动配置然后自动缩放器的.bat脚本.目的是为了一个大约一周前由同事建立的图像.

我遇到的问题是,当我运行脚本时,不执行任何超过启动配置命令的命令.

代码在这里:

echo Beginning Auto Scale Up Process

REM Create a launch config
as-create-launch-config --image-id ami-xxxxxxx --instance-type t1.micro --user-data "Created by Launch Config reportingServerScaleUp-lc" --launch-config reportingServerScaleUp-lc 

echo Timer Complete
Run Code Online (Sandbox Code Playgroud)

我正在寻找帮助我调试此问题的建议.或者如何解决它的建议.在"echo Timer Complete"之后,我有一个命令来创建一个自动缩放器.但是,甚至没有执行"echo Timer Complete".控制台确实返回,表明虽然创建了启动配置:)

此外,当我按顺序将每个命令输入命令行时,每个命令都完美地执行.与自动缩放组一样创建启动配置.

batch-file amazon-web-services autoscaling

3
推荐指数
1
解决办法
853
查看次数

多个插件执行之间的Maven共享配置

如果我有多个Maven插件的执行并且他们共享至少一个相同的配置值,我是否有办法在插件的所有执行之间共享此配置.

考虑具有两个执行的构建插件的简单情况:

<plugin>
    <!-- ID, version... -->
    <executions>
        <execution>
            <id>ID1</id>
            <configuration>
                <myConfig>foo</myConfig>
                ...
            </configuration>
        </execution>
        <execution>
            <id>ID2</id>
            <configuration>
                <myConfig>foo</myConfig>
                ...
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我怎样才能重写这个,以便执行ID1ID2执行都使用相同的myConfig配置值?

maven

3
推荐指数
1
解决办法
1452
查看次数