小编Ond*_*kar的帖子

proxy_ajp:error(70007)指定的超时已过期:

我收到了错误error_log.我弄清楚我需要增加ProxyTimeout.

但是,我无法找到我可以在哪里更改它.我所能做的只是将其添加到server.xml:

<Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="600000"
               redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

任何想法如何准确增加ProxyTimeout?我使用UbuntuAWSApache Tomcat v7

我试图将其添加到 proxy-html.conf:

ProxyRequests On 
<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Allow from all
</Proxy>
ProxyPreserveHost Off
ProxyTimeout 1200
Run Code Online (Sandbox Code Playgroud)

我还将其添加到httpd.conf:

TimeOut 600
Run Code Online (Sandbox Code Playgroud)

我已经重新启动了Tomcat服务器,但上述配置都没有帮助.

顺便说一下这是确切的错误,我不明白为什么有代理提到.我没有通过任何代理服务器进行连接...当我提交表单时会出现问题,这会触发一些棘手的处理.然后它大约在 60秒 但是,程序仍然运行,只有请求超时.

错误:

[Thu Aug 13 07:34:21.677693 2015] [proxy_ajp:error] [pid 1515] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Thu Aug 13 07:34:21.677769 2015] [proxy_ajp:error] [pid 1515] …
Run Code Online (Sandbox Code Playgroud)

apache tomcat

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

使用Mongoose更新MongoDB中的许多记录的正确方法是什么

我使用Mongoose从MongoDB中提取一些记录,将它们导入另一个系统,然后我想将所有这些文档的状态(文档属性)设置为processed.

我可以找到这个解决方案:通过id set更新多个文档.猫鼬

我想知道这是否是正确的方法,建立一个由所有文档ID组成的标准,然后执行更新.还请考虑一个事实,即它将是许多文件.

(更新查询的限制是什么?无法在任何地方找到它.官方文档:http://mongoosejs.com/docs/2.7.x/docs/updating-documents.html)

mongoose mongodb node.js

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

获取错误:AWS API请求后缺少身份验证令牌

我试图通过AWS API Gateway调用Lambda函数.

当我尝试IAM身份验证,API密钥身份验证以及没有身份验证时,我一直收到此错误. 在此输入图像描述

{"message":"Missing Authentication Token"}
Run Code Online (Sandbox Code Playgroud)

由于不存在端点,有些人遇到了同样的问题.但是,我直接从Lambda Function AWS控制台获取了我的端点. 在此输入图像描述

我一直在尝试在浏览器和邮递员中打开URL(使用和不使用标头身份验证:x-​​api-key:*****************). 在此输入图像描述

两者都回答了上述错误.

authentication amazon-web-services aws-lambda aws-api-gateway

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

获取504 GATEWAY_TIMEOUT NodeJs

504 GATEWAY_TIMEOUT在60秒的页面加载后得到http响应.

它不是正在加载的实际页面,而是正在执行的进程.我希望它花费超过60秒,我试图增加超时值,但它没有帮助.

我使用快速框架进行路由,并在EB(AWS Elastic Beanstalk)上托管作业.由于我已经增加了我可能在AWS控制台中的EB和负载均衡器上找到的所有超时值,我认为它必须是应用程序本身的超时设置为60秒.但是,我可能错了.

我的代码:

/* GET home page. */
router.get('/main',function(req, res, next) {
req.connection.setTimeout(600000);
        mainProcess(res);
        //res.send("mainProcess() called");
    });
Run Code Online (Sandbox Code Playgroud)

更新:

除此之外,我尝试了不同的方法.我将此代码添加到app.js:

var connectTimeout = require('connect-timeout');
var longTimeout = connectTimeout({ time: 600000 });
app.use(longTimeout);
Run Code Online (Sandbox Code Playgroud)

也没有帮助.

UPDATE2: 我也尝试过/bin/www像这样增加超时:

var server = http.createServer(app);
server.timeout=600000;
Run Code Online (Sandbox Code Playgroud)

UPDATE3: 我注意到超时与nginx配置有关.正如我的日志所说:upstream timed out (110: Connection timed out) while reading response header 但是,我无法找到在Elastic beanstalk上编辑nginx配置的方法.我做了一些研究,但这对我来说似乎都不合标准,对于这么简单的事情来说太僵硬了.

amazon-web-services node.js express

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

AWS无法从START_OBJECT中反序列化java.lang.String的实例

我已经创建了一个Lambda函数,我希望借助API网关通过URL访问它.

我已经完成了所有设置,我还在application/jsonAPI网关中创建了一个体图模板,如下所示:

{ 
    "input": "$input.params('input')",
}
Run Code Online (Sandbox Code Playgroud)

然后我触发HTTP GET请求,如下所示:

https://dmquh95ckh.execute-api.eu-west-1.amazonaws.com/prod/OtoTestFunction?input=test
Run Code Online (Sandbox Code Playgroud)

我的Java处理程序类如下所示:

public class LambdaFunctionHandler implements RequestHandler<String, String> {

    @Override
    public String handleRequest(String input, Context context) {
        context.getLogger().log("Input: " + input);
        return "Test completed."+input;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是完整的错误消息:

{
  "errorMessage": "An error occurred during JSON parsing",
  "errorType": "java.lang.RuntimeException",
  "stackTrace": [],
  "cause": {
    "errorMessage": "com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token\n at [Source: lambdainternal.util.NativeMemoryAsInputStream@68c4039c; line: 1, column: 1]",
    "errorType": "java.io.UncheckedIOException",
    "stackTrace": [],
    "cause": {
      "errorMessage": "Can not deserialize …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services aws-lambda aws-api-gateway

11
推荐指数
3
解决办法
6917
查看次数

npm install不保存对package.json的依赖

它只在我执行时添加: npm install <package_name> --save

在文档中:https://docs.npmjs.com/cli/install写成:

默认情况下,npm install将在package.json中安装列为依赖项的所有模块.

这是误导.

node.js npm

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

比较图形值或结构

我有一个Android应用程序,它获取手势坐标(3轴 - x,y,z).我需要将它们与我在数据库中的坐标进行比较,并确定它们是否相同.

我还需要增加一些容差,因为加速度计(捕获手势的设备)非常敏感.这很容易,但我也想考虑例如在空中画出的"大圆圈",就像在空中画出的"小圆圈"一样.意思是会有不同的值,但图的结构会是一样的,对吧?

我听说过将图值转换成位然后进行比较.这是正确的方法吗?这样的比较有没有图书馆?

到目前为止,我只是硬编码,涵盖了我的所有要求,除了最后一个(大圆圈与小圆圈).

我的代码现在:

 private int checkWhetherGestureMatches(byte[] values, String[] refValues) throws IOException {
        int valuesSize = 32;
        int ignorePositions = 4;

        byte[] valuesX = new byte[valuesSize];
        byte[] valuesY = new byte[valuesSize];
        byte[] valuesZ = new byte[valuesSize];

        for (int i = 0; i < valuesSize; i++) {
            int position = i * 3 + ignorePositions;
            valuesX[i] = values[position];
            valuesY[i] = values[position + 1];
            valuesZ[i] = values[position + 2];
        }


        Double[] valuesXprevious = new Double[valuesSize];
        Double[] valuesYprevious = new …
Run Code Online (Sandbox Code Playgroud)

java

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

通用反序列化的Gson类型令牌问题

我发现了许多类似的问题,但没有一个有帮助.

这有效:

public class Assets<T> {

public T getAndDeserializeAsset(String endpoint, String assetId, Client client){
    Response response = client.get(endpoint+assetId);
    Gson gson = new Gson();
    T asset = gson.fromJson(response.body, new TypeToken<Email>(){}.getType());
    return asset;
}
Run Code Online (Sandbox Code Playgroud)

}

这不是:

public class Assets<T> {

public T getAndDeserializeAsset(String endpoint, String assetId, Client client){
    Response response = client.get(endpoint+assetId);
    Gson gson = new Gson();
    T asset = gson.fromJson(response.body, new TypeToken<T>(){}.getType());
    return asset;
}
Run Code Online (Sandbox Code Playgroud)

}

我是根据官方文档制作的,所以我不知道它为什么不起作用.

错误:

Exception in thread "main" java.lang.ClassCastException: com.rest.api.Response cannot be cast to model.Email
at main.Main.main(Main.java:34)
Run Code Online (Sandbox Code Playgroud)

java generics gson

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

如何最大限度地减少对 Google API(地点)自动完成的请求量?

我正在使用 google API - 在AutoCompleteTextView. 我做了几个测试,大概 20 次搜索,在我的 google devs 个人资料中,写到我已经发出了 200 个 API 请求。

我知道每次我输入内容或编辑输入的文本时它都会发出请求。但是有什么方法可以减少对服务器的调用量吗?

想法之一是将阈值定义为 3 个字符。

android google-api google-places-api

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

尝试过tjavax.mail.MessagingException:未知的SMTP主机:"smtp.office365.com";

当我尝试从AWS上托管的Java Web应用程序发送电子邮件时,我收到此错误.

我已经尝试将SMTP服务器更改为smtp.live.com,而且smtp-mail.outlook.com这些都不起作用.

可以是一些AWS配置吗?它运行在Ubuntu上.(服务器本身没有出站限制,但Java服务器上可能有一些限制)

发送电子邮件的代码:

final String username = smtpUsername;
    final String password = smtpPwd;
    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", smtpHost);
    props.put("mail.smtp.port", smtpPort);
    Session session = Session.getInstance(props, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
    });
    try {
        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(smtpUsername));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(sendTo));
        message.setSubject(subject);
        message.setContent(content);
        Transport.send(message);
        System.out.println("Sent");
    } catch (MessagingException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

最有趣的部分是,它可以在我的本地计算机上运行...(但仅当我禁用Avast时)

我试图执行telnet smtp.office365.com 587,结果是:

Trying 132.245.195.162...
Connected …
Run Code Online (Sandbox Code Playgroud)

java ubuntu smtp amazon-web-services

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