Tomcat / Oracle - запросы показывают обновленную информацию только в индексированных столбцах - PullRequest
0 голосов
/ 14 мая 2019

Я прошу прощения, если это кажется тривиальным, но я просто не могу найти никакого ответа на эту проблему.У меня есть веб-приложение Java на сервере Tomcat, которое настроено с Oracle Database 12c в контексте веб-приложения (JNDI).Не используется специальная среда (например, Spring), только все, что находится в пакетах java.sql и javax.sql.

В веб-приложении, если данные изменяются в индексированных столбцах, изменения будутбудет отображаться в веб-приложении при повторном запросе.Если изменение внесено в столбец, который не проиндексирован, изменение не отображается (но данные изменяются, если вы проверяете таблицу напрямую или перезагружаете Tomcat и проверяете).Запросы - это просто запросы на обновление, ничего сложного.

Я думаю, что это как-то связано с тем, как Tomcat разделяет сеансы, потому что если вы перезапустите сервер Tomcat (остановка / запуск), изменения будут

Вот конфигурация контекста (только часть ресурса):

<resource
    name="jdbc/database"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@database.address.com:1521:sid"
    username="user"
    password="pass"
    maxActive="100"
    maxIdle="10"
    minIdle="3"
    testWhileIdle="true"
    validationQuery="select 1 from dual"
    validationInterval="34000"
    timeBetweenEvictionRunsMillis="34000"
    numTestsPerEvictionRun="10"
    minEvictableIdleTimeMillis="50000"
    removeAbandoned="true"
    removeAbandonedTimeout="60"
    logAbandoned="true"
    testOnBorrow="true"
/>

Я читал о кэшах операторов, но я не уверен, что проблема в кеше операторовтолько результаты, по-видимому, кэшируются и не обновляются при повторном запросе (если кэши операторов не хранят эту информацию, я думал, что они предназначены только для самих запросов, а не наборов результатов).Есть ли способ заставить соединение с базой данных не использовать старые результаты с Oracle?

Любая помощь приветствуется, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...