Я только что создал новую виртуальную машину Oracle Linux 7 с Tomcat 7 и Java 8_40. Раньше я создавал несколько серверов с Apache и Tomcat, но никогда раньше не подключался к базам данных. SELinux и firewalld отключены (в целях тестирования). Кажется, я не могу правильно настроить jdbc. Вот что у меня есть:
Context.xml:
<ResourceLink global="jdbc/JCAppsCoreDS" name="jdbc/JCAppsCoreDS" type="javax.sql.DataSource"/>
Server.xml
<Resource name="jdbc/JCAppsCoreDS" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@//******/PROD"
username="******" password="*****"
initialSize="5" maxActive="100" maxIdle="-1" maxWait="30"
validationQuery="select 1 from dual"
testOnBorrow="true"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" />
Конечно, с ***** фактическими предметами. Когда я пытаюсь перейти по URL-адресу своего приложения, я получаю:
Исключение именования Ошибка при подключении к базе данных: javax.naming.NameNotFoundException: Имя [jdbc / JCAppsCoreDS] не связано в этом контексте. Не удалось найти [jdbc].
Насколько я могу судить, моя конфигурация верна, но я все еще получаю ошибки. У кого-нибудь есть идеи? Кроме того, я не вижу, чтобы эта ошибка попадала в журналы. Кто-нибудь знает, какие логи и где нужно поднять уровень логов? Я немного поработал с ними, но не смог получить больше информации.
Спасибо!
Вы настроили ссылку на ресурс в web.xml
?
<resource-ref>
<res-ref-name>jdbc/JCAppsCoreDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Мы только вчера выяснили проблему: приложения, которые мы пытаемся переместить с weblogic на tomcat, вызывают базу данных способом, который распознает weblogic, а tomcat - нет. Мы собираемся отредактировать вызов базы данных и использовать spring, чтобы, надеюсь, все работало вместе. Спасибо за советы!