我的应用程序使用以下框架和应用程序服务器:
>
WebSphere Application Server Liberty for BluemixJava
应用程序工作正常,但在运行数小时后连接超时。请参见以下例外情况:
2017-09-01T11:40:40.57+0900 [APP/PROC/WEB/0] OUT 2017-09-01 02:40:40,563 [http-nio-8080-exec-2] [5baba2cb-5bfd-4846-b8e0-8782aa729639] [] WARN o.h.e.jdbc.spi.SqlExceptionHelper [SqlExceptionHelper.java:127] - SQL Error: -4499, SQLState: 08001
2017-09-01T11:40:40.58+0900 [APP/PROC/WEB/0] OUT or socket output stream. Error location: Reply.fill() - socketInputStream.read (-1). Message: Connection timed out (Write failed). ERRORCODE=-4499, SQLSTATE=08001
我知道Spring Boot需要在application.properties.中设置配置属性
spring.datasource.testOnBorrow=true
spring.datasource.testWhileIdle=true
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.numTestsPerEvictionRun=3
spring.datasource.minEvictableIdleTimeMillis=600000
spring.datasource.validationQuery=SELECT 1
然而,我发现在Spring boot 1.3中,我们必须使用它们各自的前缀(Spring.datasource.tomcat.,Spring.datasource.hikari.,和Spring.datasource.dbcp2.*)使用特定于实现的设置,并且(显然)不支持Websphere Application Server Liberty概要文件。
我的问题是,我应该如何配置以保持连接活动(或更新它们)?
提前谢谢你!
您使用的是什么数据源?在本例中,我们使用的是tomcat,这是默认选项。所以我们有
# DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.test-while-idle=true
spring.datasource.tomcat.time-between-eviction-runs-millis=300000
spring.datasource.tomcat.validation-query=SELECT 1
当应用程序完全关闭时,Whatsapp如何保持与套接字的连接。 它要求APNS推送首先唤醒应用程序,然后重新建立连接。但是WhatsApp怎么样?似乎是Appstore的合规问题?但是AppStore允许许多应用程序在后台运行,但它是否允许Pubnub或有连接的应用程序在后台保持活力?
问题内容: 我正在使用redis在nodejs应用程序中提供会话支持。我已经安装了redis服务器,当我运行redis- server时,它可以工作,但是当我关闭终端redis时,它停止工作,并且不起作用。关闭终端后如何保持Redis服务器运行? 问题答案: 将Redis作为守护程序启动的最简单方法是编辑配置文件并更改以下行: 启动配置文件时,请确保在redis-server命令行上提供该配置文件
我已经在IBM WebSphere8.5上部署了Ear文件。当我使用我的应用程序时,它给了我一个ClassNotFoundException,但是它给出异常的类在jar文件中,而这个文件已经在ear文件中了。那么,你能告诉我这个问题的原因是什么吗?我们是否需要在websphere中配置一些东西,以便它将这些JAR添加到类路径中?
我试图将我的小应用程序从Tomcat迁移到WebSphere。为了做到这一点,我从头开始重新构建它,分别处理主要组件。我正在纠结webSphere Liberty上的数据访问/ JNDI。我明白了 javax.naming.NameNotFoundException:javax.naming.NameNotFoundException: java: comp/env/jdbc/test SERVE
我目前正在开发一个支持保活连接的多线程代理服务器。在处理来自火狐浏览器的请求时,我看到了一些奇怪的问题。我使用localhost:10001/http://url连接到我的本地代理,我可以访问这个主机上的所有链接。过程如下。1.创建一个套接字,将其绑定到端口10001 2.接受连接,如果客户端连接了fork()3.继续将客户端请求处理为持久连接。 现在的问题是,当我在Firefox中打开一个新选项
问题内容: 我想在我们的其中一台Web服务器上进行一些性能测试,以了解服务器如何处理大量持久连接。不幸的是,我对HTTP和Web测试不是很熟悉。这是到目前为止我已经获得的Python代码: 我的主要问题是: 如何保持这些连接的生命? 我设置了很长的超时时间,但这是一种非常粗糙的方法,我甚至不确定它是否会影响连接。是否只是偶尔偶尔请求一两个字节? (此外,与我代码末尾的丑陋块相比,还有一个更好的过程