javax.naming.NameNotFoundException: имя 'Manager1Factory' не найдено в контексте '' - PullRequest
1 голос
/ 22 сентября 2011

Я получаю сообщение об ошибке

javax.naming.NameNotFoundException: Name 'Manager1Factory' not found in context ''

, когда пытаюсь развернуть мое приложение гибернации в JBoss 7. Строка кода, которая вызывает это исключение, выглядит как

    entityManagerFactory = (EntityManagerFactory)ctx.lookup("java:/Manager1Factory");
EntityManager entityManager = entityManagerFactory.createEntityManager();

У меня естьимя JNDI, определенное в файле persistence.xml, например

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
   xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-    instance"
   xsi:schemaLocation="
    http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
   <persistence-unit name="primary2">
      <!-- If you are running in a production environment, add a managed 
         data source, the example data source is just for proofs of concept! -->
      <!-- We may want to make this a jta-data-source and let the container create     entityManagers/look up EntityManagers via JNDI in our business objs -->
      <non-jta-data-source>java:jboss/datasources/MySqlDS2</non-jta-data-source>      
          <class>com.mycompany.myapp.anywhere.common.businessobjects.CurrentTransaction</class>               
  <class>com.mycompany.myapp.anywhere.common.businessobjects.ServerSettings</class>               
  <class>com.mycompany.myapp.anywhere.common.persistence.HibernateUtil</class>           

  <properties>
     <!-- Properties for Hibernate -->
     <!-- <sproperty name="hibernate.hbm2ddl.auto" value="create-drop" /> -->
     <!-- <property name="hibernate.show_sql" value="false" /> -->
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
     <property name="hibernate.ejb.interceptor.session_scoped" value="com.mycompany.myapp.anywhere.common.persistence.BusinessObjectInterceptor"/>
     <property name="jboss.entity.manager.jndi.name" value="java:/Manager1"/>           
     <property name="jboss.entity.manager.factory.jndi.name" value="java:/Manager1Factory"/>  
     </properties>
   </persistence-unit>
</persistence>

Я не уверен, почему я получаю эту ошибку - когда я проверяю консоль JBoss, я вижу, что имя Manager1Factory отображается под привязками JNDI, поэтомуПохоже, EntityManagerFactory создается, но не вводится в мой класс?Есть идеи, почему это происходит?Спасибо!

1 Ответ

0 голосов
/ 11 января 2012

Попробуйте с

<property name="jboss.entity.manager.factory.jndi.name" value="java:jboss/Manager1Factory"/>

и

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