小编PHP*_*ger的帖子

Java类型转换,对象类型和重载问题

请看下面的类,我需要检查变量中是否有有效值.如果在变量中有适当的值而不是,那么一切正常null.当它变为null时,行为不是我所期望的(尽管如果Integer a = null;选中a instanceof Integer,则可能有意义,

有人可以指导我如何从下面的课程中获得正确的结果吗?

package com.mazhar.hassan;

public class ValueChecker {
    public static boolean empty(Integer value) {
        System.out.println("Integer");
        return (value != null && value.intValue() > 0);
    }
    public static boolean empty(Long value) {
        System.out.println("Long");
        return (value != null && value.longValue() > 0);
    }
    public static boolean empty(String value) {
        System.out.println("String");
        return (value != null && value.length() > 0);
    }
    public static boolean empty(Object value) {
        System.out.println("Object");
        return (value != null);
    }
    public …
Run Code Online (Sandbox Code Playgroud)

java casting overloading

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

无法从S3复制到Ec2实例

我试图将文件从S3复制到Ec2实例,这是奇怪的行为以下命令运行完全正常并向我显示s3的内容,我想访问

$aws s3 ls
2016-05-05 07:40:57 folder1
2016-05-07 15:04:42 my-folder
Run Code Online (Sandbox Code Playgroud)

然后我发出以下命令(也成功)

$ aws s3 ls s3://my-folder
2016-05-07 16:44:50       6007 myfile.txt
Run Code Online (Sandbox Code Playgroud)

但是当我尝试复制此文件时,我会发现如下错误

$aws s3 cp s3://my-folder/myfile.txt ./
Run Code Online (Sandbox Code Playgroud)

必须指定区域 - 区域或在配置文件中指定区域或指定环境变量.或者,可以使用--endpoint-url指定端点

我只想将txt文件从s3复制到ec2实例.至少修改上面的命令来复制内容.我不确定区域,如果我从网上访问S3它说

"S3不需要区域选择"

地球上发生了什么?

amazon-s3 amazon-ec2 amazon-web-services aws-cli

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

从 aws elastic beanstalk 中的 .ebextensions 文件夹运行脚本

我正在尝试从上传战争时运行脚本,所以这里是配置的内容

container_commands:
    01_setup_apache:
        command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"
    02_setup_script:
        command: "sudo su root"
    03_setup_script:
        command: "sudo mkdir -p /home/dev"
    04_setup_script:
        command: "sudo chmod 777 /home/dev -R"
    05_setup_script:
        command: "sudo cp .ebextensions/scripts/setup.sh /home/dev/"
    06_setup_script:
        command: "sudo chmod +x /home/dev/setup.sh"
    07_setup_script:
        command: "sudo /home/dev/setup.sh"
    08-restart-apache:
        command: "sudo /etc/init.d/httpd restart"
Run Code Online (Sandbox Code Playgroud)

我尝试了所有方法,但在执行 setup.sh 时部署总是失败。在上面的示例中,它在07_setup_script失败

这是日志内容

] : Starting activity...
/Command 01_setup_apache] : Starting activity...
/Command 01_setup_apache] : Completed activity.
/Command 02_setup_script] : Starting activity...
/Command 02_setup_script] : Completed activity.
/Command 03_setup_script] : …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elastic-beanstalk

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

如何在Java中正确解析SES退回JSON SNS通知

我正在从SNS主题接收JSON,我认为这是不正确的

{
   "Type":"Notification",
   "MessageId":"message-id-is-this",
   "TopicArn":"bouncer.topic.name.here",
   "Message":"{\"notificationType\":\"Bounce\",\"bounce\":{\"bounceType\":\"Permanent\",\"bounceSubType\":\"General\",\"bouncedRecipients\":[{\"emailAddress\":\"bounce@simulator.amazonses.com\",\"action\":\"failed\",\"status\":\"5.1.1\",\"diagnosticCode\":\"smtp; 550 5.1.1 user unknown\"}],\"timestamp\":\"2017-04-24T12:58:05.716Z\",\"feedbackId\":\"feedback.id.is.here\",\"remoteMtaIp\":\"192.168.10.1\",\"reportingMTA\":\"dsn; smtp.link.here\"},\"mail\":{\"timestamp\":\"2017-04-24T12:58:05.000Z\",\"source\":\"senderEmail@domainname.com\",\"sourceArn\":\"arn:aws:ses:us-east-1:someid:identity/some@domain.org\",\"sourceIp\":\"127.0.0.1\",\"sendingAccountId\":\"sending.account.id.is.this\",\"messageId\":\"message-id-is-this\",\"destination\":[\"bounce@simulator.amazonses.com\"]}}",
   "Timestamp":"2017-04-24T12:58:05.757Z",
   "SignatureVersion":"1",
   "Signature":"signature.link",
   "SigningCertURL":"certificate.link.here",
   "UnsubscribeURL":"un.subscribe.link"
}
Run Code Online (Sandbox Code Playgroud)

问题出在“消息”属性,而不是持有对象,而是引用对象的字符串

包含

"Message":"{\"key\":\"value\"}"
Run Code Online (Sandbox Code Playgroud)

代替

"Message":{"key":"value"}"
Run Code Online (Sandbox Code Playgroud)

因此没有映射到Message类

我暂时通过接收到字符串变量来解决此问题,然后将其转换

private String Message;
private Message objMessage;
Run Code Online (Sandbox Code Playgroud)

然后

Notification noti = toObject(jsonString, Notification.class);
Message msg = toObject(noti.getMessage(), Message.class);
noti.setObjMessage(msg);
Run Code Online (Sandbox Code Playgroud)

为了进行转换,我正在使用ObjectMapper.readValue(...)

解决此问题的正确方法是什么?

java json amazon-sns amazon-ses objectmapper

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

Tomcat 100% CPU 使用率

我尝试了所有方法来查找原因,但不确定是什么原因,尝试使用 jProfile,但没有得到任何结果,因为 cpu 已经达到 100%。

我在 Tomcat8 上的 amazon linux 上运行 Spring 应用程序(WAR 文件)。没有数据库操作,但是它访问了一个休息 api,用于在不同环境中运行的不同操作。有3 台服务器beanstalk 中负载平衡器后面运行时存在相同的问题。每小时平均518K请求,平均延迟为72.2 毫秒

我觉得代码本身没有太大问题

我刚刚尝试了一个命令 kill -3 pid (java process),并在 catalina.out 文件中得到了一些结果。我可以一次又一次地看到以下错误

"http-nio-8080-exec-13" #42 daemon prio=5 os_prio=0 tid=0x00007f0898005800 nid=0xfb2 waiting on condition [0x00007f0882dec000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000f1694f58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
    at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
    at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at …
Run Code Online (Sandbox Code Playgroud)

java log-files tomcat8

0
推荐指数
1
解决办法
7735
查看次数