- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码从 Undertow 连接到远程 MYSQL 服务器。
static DataSource newDataSource(String uri, String user, String password) {
GenericObjectPool connectionPool = new GenericObjectPool();
connectionPool.setMaxActive(256);
connectionPool.setMaxIdle(256);
ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(
uri, user, password);
// This constructor modifies the connection pool, setting its connection
// factory to this. (So despite how it may appear, all of the objects
// declared in this method are incorporated into the returned result.)
//
new PoolableConnectionFactory(connectionFactory, connectionPool, null,
null, true, true); //defaultReadOnly = true, defaultAutoCommit = true
return new PoolingDataSource(connectionPool);
}
}
final DataSource mysql = dbHelper.newDataSource(
properties.getProperty("mysql.uri"),
properties.getProperty("mysql.user"),
properties.getProperty("mysql.password"));
try (Connection connection = mysql.getConnection();
PreparedStatement statement = connection.prepareStatement(
"SELECT userid FROM test.table WHERE id >= "
+ m + " AND id <= " + n + ";",
ResultSet.CONCUR_READ_ONLY,
ResultSet.CLOSE_CURSORS_AT_COMMIT)) {
try (ResultSet resultSet = statement.executeQuery()) {
while (resultSet.next()) {
count += 1;
}
}
}
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, TEXT_PLAIN);
exchange.getResponseSender().send(buildTweet(count));
Undertow 服务器运行一段时间后,我收到以下错误:
15/04/10 10:08:00 ERROR undertow.request: Blocking request failed HttpServerExchange{ GET /q6}
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"
at sun.reflect.GeneratedConstructorAccessor6.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1112)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2506)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2539)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2321)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.GeneratedConstructorAccessor4.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
at Project.Q6Handler.handleRequest(Q6Handler.java:39)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
我想知道如何继续关闭与
的连接应用程序有频繁的读取请求(每秒 10000 个 READ 请求)我应该如何继续?
我想在设置交换 header 之前使用mysql.getConnection().close();
,但需要确保更改生产系统上的代码。
谢谢!
最佳答案
如果有人想知道:我将 MySQL 服务器中的 max_connections 重置为 256,现在一切都按预期运行。
关于java - 关闭 Undertow 上的 MYSQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29558903/
最近我的 Undertow 应用程序触发 Cloud Run 报告以下内容: Container Sandbox Limitation: Unsupported syscall setsockopt(
要使用 undertow 作为代理服务器来跟踪所有流量(调试目的所需),我目前使用的代码片段如下: Undertow.builder() .addHttpListener(8080, null
当我访问我的网络服务器时,我使用 ResourceHandler 来提供 javascript 文件。现在的问题是,我想提供完全相同的 JavaScript,但在我的 url 中接受/{id},这样当
我正在使用 undertow 开发一个 web 应用程序,并且对 java 相当陌生。运行 ServeletEngine.java 时出现错误。我检查了其他相关帖子,但他们没有解决我的疑问。请帮我。
有没有关于undertow.routing模板格式的文档?我想像这样设置处理程序: / or /index.html -> Use handler 1 Anything else -> Use han
本文整理了Java中io.undertow.server.XnioBufferPoolAdaptor类的一些代码示例,展示了XnioBufferPoolAdaptor类的具体用法。这些代码示例主要来源
本文整理了Java中io.undertow.server.XnioByteBufferPool类的一些代码示例,展示了XnioByteBufferPool类的具体用法。这些代码示例主要来源于Githu
我们目前正在调整使用 undertow 的服务,但找不到以下属性的默认值: server.undertow.worker-threads server.undertow.io-threads 我们了解
我有一个使用各种依赖项的应用程序。这些依赖项都使用了一堆乱七八糟的日志框架。由于我不希望任何库进行任何类型的日志记录,因此我有一个小程序试图将其全部禁用。 这已经运行了一段时间,但最近由于一些不为人知
我正在尝试使用 undertow.io 启动一个简单的 api 服务器API。这是我的启动代码。 this.server = Undertow.builder().addHttpListener(th
我的要求是提供“index.html”,无论请求中设置什么路由。我已经引用了Routing template format for undertow但无济于事。这似乎对人们有用。处理程序看起来像 Pa
我有一个简单的示例,其中我实现了一个访问日志处理程序。它确实记录到控制台。如何配置记录器记录到指定文件? package com.zetcode; import io.undertow.Underto
如 separate question 中所述,当使用Undertow时,所有处理都应该在专用的Worker线程池中完成,如下所示: public class Start { public sta
public class HelloWorldServer { public static void main(final String[] args) { Undertow
我正在尝试提供一个简单的“Hello world!”使用 Undertow 嵌入式服务器通过 HTTPS 使用自签名证书进行响应。但是,我在客户端 (Chrome) 上得到了 ERR_SSL_VERS
我有一个运行嵌入式 Undertow 的 Web 服务,一些处理程序利用常见的 Undertow 模式将请求卸载到工作线程: if (exchange.isInIoThread()) { ex
在 undertow documentation site 上列出的示例中,它展示了如何配置 2 个 servlet 及其映射。但我找不到如何配置默认 Servlet 以允许目录列表和资源服务。 De
我创建了一个网络服务器,允许我的网站通过 API 访问我的游戏数据。我的网络服务器看起来像这样(我正在使用 me.apachenick 框架) public class WebServer {
我正在与 Undertow 合作,我的目标是使用 AWS 实例获得最大吞吐量。 我面临的问题是: 当我使用一个线程数 = 1000 的实例时,我得到的吞吐量为 9900。当我使用两个线程数 = 100
根据the spec Undertow 有一个很好的基于文本的配置。 但是,我没有看到任何如何使用此类配置启动 Undertow 的示例代码。 如何使用 Undertow.builder()... 构
我是一名优秀的程序员,十分优秀!