Автор оригинала: mkyong.
Проблема
Веб-приложение JSF 2.0, управляемый компонент использует @@Ресурс
для вставки источника данных ” jdbc/mongodb
” в свойство ds.
@ManagedBean(name="customer") @SessionScoped public class CustomerBean implements Serializable{ //resource injection @Resource(name="jdbc/mkyongdb") private DataSource ds;
При развертывании на Tomcat 6 он выдает следующие сообщения об ошибках для конфигурации источника данных MySQL.
com.sun.faces.mgbean.ManagedBeanCreationException: An error occurred performing resource injection on managed bean customer at com.sun.faces.mgbean.BeanBuilder.injectResources(BeanBuilder.java:207) Caused by: com.sun.faces.spi.InjectionProviderException: javax.naming.NameNotFoundException: Name jdbc is not bound in this Context at com.sun.faces.vendor.Tomcat6InjectionProvider.inject(Tomcat6InjectionProvider.java:84) at com.sun.faces.mgbean.BeanBuilder.injectResources(BeanBuilder.java:201) ... 53 more Caused by: javax.naming.NameNotFoundException: Name jdbc is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:770) at org.apache.naming.NamingContext.lookup(NamingContext.java:153) ... 54 more
Решение
Источник данных “jdbc/mkyongdb” неправильно настроен в Tomcat, подробности см. В этом руководстве – Как настроить источник данных MySQL в Tomcat 6
Оригинал: “https://mkyong.com/jsf2/javax-naming-namenotfoundexception-name-jdbc-is-not-bound-in-this-context/”