2015-03-30 4 views
0

Я создал источник данных oracle в weblogic с именем jdbc/myDS.weblogic jndi datasource issue with spring application

Weblogic создал файл xml в mydomain/config/jdbc, а конфигурация работает с консоли администратора weblogic. Тестовое соединение работает. Мои данные контекста весны файлов:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="jdbc/myDS"/> 
</bean> 

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="hibernateProperties"> 
     <util:map> 
      <entry key="hibernate.hbm2ddl.auto" value="update" /> 
      <entry key="hibernate.show_sql" value="true" /> 
     </util:map> 
    </property> 
</bean> 

<bean id="myDAO" class ="com.example.MyDAOImpl"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

Мой Java класс: Произошла

public class MyDAOImpl implements MyDAO{ 

private SessionFactory sessionFactory; 

public void setSessionFactory(SessionFactory sessionFactory){ 
    this.sessionFactory = sessionFactory; 
} 

public SessionFactory getSessionFactory() { 
    return sessionFactory; 
} 

public void persistPerson(Person person) { 
    Session session = getSessionFactory().openSession(); 

    try { 

    session.beginTransaction(); 

    session.save(person); 

    session.getTransaction().commit(); 

    }catch(HibernateException he) { 

     he.printStackTrace(); 
    } finally { 
     session.close(); 
    } 
} 
} 

ошибки при активации изменений, смотрите журнал для деталей. Значок сообщения - Ошибка weblogic.application.ModuleException: Значок сообщения - Ошибка При попытке поиска «jdbc.myDS» не найден субконтекст «jdbc». Решено "; оставшееся название «JDBC/myDS»

+0

Помогите нам устранить эту ошибку – knight

+0

Это похоже на простую опечатку - почему она ищет 'jdbc.myDS' вместо' jdbc/myDS'. –

+0

Мне нужно указать цель на источник данных jndi «Admin Server». Он начал работать. – knight

ответ

-1

Ниже приводится конфигурацию Spring XML, чтобы получить источник данных по имени JNDI и впрыснуть его в Спрингс AnnotationSessionFactoryBean.

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="jdbc/YourJndi"/> 
</bean> 


<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource"> 
     <ref bean="dataSource" /> 
    </property> 
    <property name="annotatedClasses"> 
     <list> 
      <value>com.java.model.Employee</value> 
     </list> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">${hibernate.dialect}</prop> 
      <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> 
      <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>    
     </props> 
    </property> 
</bean> 

Этот пример был успешно протестирован на Weblogic 10.3.4 с Oracle 11g.