Это старомодный JNDI, и у вас здесь есть пара проблем.
Ваш web.xml
правильно определил
<res-ref-name>jdbc/ConsipGfrDS</res-ref-name>
Эти ссылки на ресурсы определяют имена в JNDI java:comp/env
пространство имен, также известное как пространство имен среды компонента, которое является локальным для вашего веб-приложения. Это означает, что полное имя JNDI вашего источника данных в вашем веб-приложении на самом деле java:comp/env/jdbc/ConsipGfrDS
, поэтому ваш код поиска должен быть:
@Bean
public DataSource dataSource() throws NamingException {
Context ctx = new InitialContext();
return (DataSource)ctx.lookup("java:comp/env/jdbc/ConsipGfrDS");
}
Пока у нас есть платформа независимая (т.е. сервер приложений) код. Вы правильно вставили зависимую * платформу в платформу в файл weblogic.xml
.
Однако здесь кроется ваша вторая проблема. weblogic.xml
содержит небольшую ошибку. В предоставленном вами образе веб-логической консоли, показывающем конфигурацию источника данных JDBC, указано, что имя JNDI jdbc/ConsipGfrDS
. Поэтому обновите его следующим образом:
<?xml version="1.0" encoding="UTF-8" ?>
<weblogic-web-app
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://xmlns.oracle.com/weblogic/weblogic-web-app http://http://www.oracle.com/technology/weblogic/weblogic-web-app/1.1/weblogic-web-app.xsd">
<resource-description>
<!-- match jndi name in weblogic -->
<jndi-name>jdbc/ConsipGfrDS</jndi-name>
<!-- match res-ref-name name in web.xml -->
<res-ref-name>jdbc/ConsipGfrDS</res-ref-name>
</resource-description>
</weblogic-web-app>
Веселитесь!