- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Web 服务 - Tomcat 部署在 LINUX 中下面是我发送 HTTP 请求的代码我读到 TOO MANY OPEN FILES 导致客户端不关闭流并保持打开状态我尝试在下面的代码中关闭我的流并将 ulimit -n 数字增加到 4096,仍然出现此错误
if ("GET".equals(methodType)) { //req
System.setProperty("http.keepAlive", "false");
logger.info("<--------CALLING TAX-CLIENT REQUEST------------>");
URL url = new URL(api_url + "?" + queryParams);
// URLEncoder.encode(queryParams, "UTF-8"
logger.debug("API_URL TO SEND REQUEST : " + url);
logger.debug("Received TOKEN IS : " + encoding_token);
conn = (HttpsURLConnection) url.openConnection();
conn.setRequestProperty("Authorization", "Bearer " + encoding_token);
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Accept-Charset", "charset=UTF-8");
conn.setRequestMethod("GET");
conn.setDoInput(true);
InputStream _is;
/* error from server */
if (conn.getResponseCode() == HttpsURLConnection.HTTP_INTERNAL_ERROR) {
_is = conn.getErrorStream();
logger.error("ERROR : " + _is.toString());
throw new BillingException("501", _is.toString(), new BillingExceptionBean());
} else {
_is = conn.getInputStream();
}
try (BufferedReader in = new BufferedReader(
new InputStreamReader(_is, Charset.forName("UTF-8")), BUFFER_SIZE)) {
inputLine = in.readLine();
logger.info("Response from tax : " + inputLine);
if (inputLine.contains("default message")) {
JSONObject jsonObject = new JSONObject(inputLine);
String error = jsonObject.getString("code") + ":" + jsonObject.getString("message") + "\n";
this.setErrorMessage(error);
} else if (inputLine.contains("error") & inputLine.contains("default")) {
String str = inputLine;
String[] parts = str.split("default message");
String str1 = parts[2];
String[] parts2 = str1.split("\"");
this.setErrorMessage(parts2[0].toString());
}
logger.info("Buffered Reader is closed");
in.close();
}
logger.info("Input stream is closing connection");
// _is.close();
// conn.disconnect();
这是我得到的错误:
Feb 21, 2019 9:04:56 AM org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
SEVERE: Socket accept failed
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60)
at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:220)
at java.lang.Thread.run(Thread.java:745)
最佳答案
错误表明 accept()
调用无法接受套接字连接。根据基础文档 system call此异常有两个可能的原因:您的进程中打开的文件太多,或者系统范围内打开的文件太多。
可能打开的连接太多。您可以使用 netstat -anp | grep TOMCAT_PROCESS_ID
查看有多少连接涉及 Tomcat 服务器。这将包括来自客户端的入站连接,以及从您的网络应用程序到外部服务的出站连接;入站连接会将 Tomcat 端口显示为目标。如果您有很多入站连接,那么这是一个问题,即有太多客户端或未关闭连接的客户端(您的示例似乎正在关闭连接)。
更有可能是您没有正确关闭网络应用程序(已部署到 Tomcat 服务器)中的文件。为了诊断我会运行 ls -l/proc/TOMCAT_PROCESS_ID/fd
,这将为您提供该进程打开的所有文件和套接字的列表。您将在此列表中看到应用程序 WAR,以及 Tomcat 使用的一些 JAR。如果您在文件系统中看到很多文件,请查看它们的打开位置。
关于java - 套接字异常 : TOO MANY OPEN FILES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54801335/
我有模特儿 class Category(models.Model): title = models.CharField(...) entry
我确实有一个“引用”表和一个“文章”表,其中一篇文章引用了其他文章。 我确实有一些简单的引用资料,例如:A -> B SQL: select ab.* from Article a inner joi
我目前正在研究发布有界上下文。这方面的主要参与者是产品 和 上市 . 产品:可以在多个市场上列出。一 产品 许多 上市 . 列表:可以有很多产品,因为某些市场支持变体列表。一 上市 许多 产品 . 基
我有一个简单的化妆品数据库。每个产品可能包含多种成分。因此它是一个简单的多对多关系,目前我有一个这样的数据库: CREATE TABLE `products` ( `id` INT UNSIGNE
我只是在学习 django 并遵循教程。我有一个链接和一个书签。与我正在关注的教程不同,我希望一个链接只与一个书签相关联,但一个书签可以有多个链接。这是设置模型的方法吗? class Link(mod
我有 3 个表;用户、组和权限 在模型中,我将关系设置为 belongsToMany在用户模型中: public function groups() { return $this->belon
与 Laravel 4 中的一个问题作斗争,在“联系”模型编辑表单中,我可以获得所有字段的当前值,除了与另一个模型“公司”建立关系的多重选择中的那些。这是一个多对多的关系。我正在获取公司列表,但即使存
我正在制作现有数据库的模型。我的表通过连接表具有多对多的自引用。连接表有两个字段:“parent_id”和“child_id”。 我正在尝试这样定义关联: company.hasMany(co
据我所知 查找表当我们处理 时是必要的多对多 关系。 但是呢?一对多关系 - 我们需要 查找表或 外键 在其中一张 table 上? 另一个问题,是一对多同 多对一 ? 最佳答案 一对多关系不需要查找
当我启动服务器时,在建立数据库连接后不久,我会这样做: var tool = require("./tool"); //created with Sequelize.define() var requ
对不起,如果标题没有多大意义,如果您对我的问题的更准确描述有建议,请提出建议。 我正在开发一个 Symfony 2 应用程序,我有必须与另一个用户相关的用户对象,简单的用例是 friend ,但也有更
这可能只是因为我缺乏对 EF Code First fluent API 的了解,但我很困惑。 我想模拟以下内容: 一个包含 Id 和 Name 的Groups集合 一个包含 Id 和 Name 的U
在关系数据库中,我有一个用户表、一个类别表和一个执行多对多关系的用户类别表。 这个结构在Redis中是什么形式的? 最佳答案 对于 Redis,关系通常由集合表示。一套可以用表示单向关系,因此每个对象
我正在为我的数据库使用 MySQL,并且在我的 Django 应用程序中有以下 Message 模型: class Message(models.Model): sender = models
我有这种情况,但我不确定应该如何在数据库中对其进行建模。我试图建模的对象是:球队、球员、球队球员的成员资格,以及给定球队中每个球员的应付费用列表。因此,费用取决于球队和球员。 因此,我目前的做法如下:
我有一个实体 Book,它与其他实体的关系太多。现在我想对多对多关系属性之一的 COUNT 列进行排序,我使用这种方法 Doctrine2 order by count many to many Do
必须改变实体之间的关系,我想知道改变关联映射类型是否正常,数据库中已经存在的数据是否会正常传输?我试图找到有关它的信息,但没有找到。或者如果映射将被更改,则必须通过 sql 查询手动传输已经存在的数据
我有一个丑陋的循环,它在 Django 中作为创可贴运行,我想将其优化为连接。我已将其分解为最基本的结构,以帮助简化问题。我希望其他人以前遇到过类似的问题 - 如果没有,我会在最终修复它时分享答案。
我想使用 Spring Boot 和 Spring Data REST 构建一个简单的 HATEOAS API。 因此,我创建了2个不同的实体A和B。两者之间存在多对多关系。由于该关系还需要 2 个属
我有两个名为“类别”和“文章”的实体,它们具有多对多关系。我想形成一个谓词来搜索 category.name 等于某个值的所有文章。我有以下内容: NSEntityDescription *ent
我是一名优秀的程序员,十分优秀!