У меня проблемы с tomcat 7 для настройки jdbc-pool: я пытался следовать этому примеру: http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency
так что я:
conf / server.xml
<GlobalNamingResources>
<Resource type="javax.sql.DataSource"
name="jdbc/DB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"
username="user"
password="password"
/>
</GlobalNamingResources>
conf / context.xml
<Context>
<ResourceLink type="javax.sql.DataSource"
name="jdbc/LocalDB"
global="jdbc/DB"
/>
<Context>
и когда я пытаюсь сделать это:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource datasource = (DataSource)envContext.lookup("jdbc/LocalDB");
Connection con = datasource.getConnection();
я продолжаю получать эту ошибку:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:803)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
пожалуйста, помогите TNX
Обычно для таких целей я создаю файлы context.xml.default или даже appname.xml в каталоге / conf / Catalina / localhost.
Это правильный путь.
Проверьте свой файл context.xml. Вы встроили <Context>
в рамках существующих <Context>
файла по умолчанию?
В худшем случае нужно взять это:
<ResourceLink type="javax.sql.DataSource"
name="jdbc/LocalDB"
global="jdbc/DB"
/>
... и убедитесь, что он находится в уже существующих <Context>
пометьте и избавьтесь от посторонних.
В общем, я никогда не рекомендую редактировать server.xml или context.xml с целью создания этих ресурсов. Документация Tomcat в некоторой степени поддерживает меня в этом:
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html
См. Конец раздела «Введение». Обычно для таких целей я создаю файлы context.xml.default или даже appname.xml в каталоге / conf / Catalina / localhost. Абстрагирует глобальную конфигурацию от конфигурации конкретного приложения.
Вы можете выполнить поиск в одной строке через java: comp / env / jdbc / DB, вам не нужно два поиска.