Я пытаюсь выяснить, является ли определение Datasource первопричиной проблемы, которую мы имеем. Наш стек приложений в AWS имеет несколько машин TomEE, работающих вместе и ELB. Случайно машины с сохранением простоя подключений к базе данных и не заканчиваются.Настройка JVM Datasource для подключения базы данных в пуле соединений для tomEE
Я хочу знать, что мы можем сделать, чтобы лучше настроить наши соединения и собирать соединения. Наше приложение имеет умеренное количество запросов/сек.
Вот наш файл Tomee.xml.
<?xml version="1.0" encoding="UTF-8"?>
<tomee>
<!-- see http://tomee.apache.org/containers-and-resources.html -->
<!-- Datasources for Prod -->
<Resource id="DBWPC" type="javax.sql.DataSource">
DataSourceCreator tomcat
JdbcDriver oracle.jdbc.OracleDriver
JdbcUrl jdbc:oracle:thin:@x.x.com:1521:service
UserName xxxxx
Password xxxx
jmxEnabled true
InitialSize 5
MaxActive 20
MaxIdle 20
MinIdle 0
MaxWait -1
ValidationQuery SELECT 1 FROM DUAL
PoolPreparedStatements true
MaxOpenPreparedStatements 0
TestWhileIdle true
timeBetweenEvictionRunsMillis 180000
JtaManaged true
</Resource>
<!-- Standard JMS Setup for NON-SERVER **** START **** -->
<Resource id="PrimaryJMSRA" type="ActiveMQResourceAdapter">
BrokerXmlConfig=
ServerUrl = tcp://x.x.com:61616
</Resource>
<Resource id="JmsConnectionFactory" type="javax.jms.ConnectionFactory">
ResourceAdapter = PrimaryJMSRA
</Resource>
<Container id="JmsMdbContainer" ctype="MESSAGE">
ResourceAdapter = PrimaryJMSRA
</Container>
<Container id="wpcStatelessContainer" type="STATELESS">
accessTimeout = 30 seconds
callbackThreads = 5
closeTimeout = 5 minutes
garbageCollection = false
idleTimeout = 0 minutes
maxAge = 0 hours
maxAgeOffset = -1
maxSize = 5000
minSize = 20
replaceAged = true
replaceFlushed = false
strictPooling = false
sweepInterval = 5 minutes
</Container>
<Container id="wpcSingletonContainer" type="SINGLETON">
accessTimeout = 30 seconds
</Container>
Я должен добавить, что проблема, которую она вызывает в базе данных, блокирует сеансы для других SID. У нас был экземпляр, у нас было более 200 сеансов, заблокированных незанятыми идентификаторами безопасности, заставляя наше приложение перестать отвечать на запросы. Подобно JVM, он не будет обслуживать другой запрос, потому что он ждет бесконечно долгое время. – user3137487