2013-05-30 4 views
0

Это мой второй вопрос, надеюсь, кто-то ответит на этот раз. Я использую weblogic 10 и EJB 2, но теперь я создаю новый модуль весной 3.Spring 3+ Weblogic и JNDI issue

Все работает нормально, но я не могу использовать существующий объект источника данных, предоставляемый JNDI в контексте весны xml ... .

Вот файлы

Weblogic config.xml

<jdbc-system-resource> 
    <name>EOrderDataSource</name> 
    <target>adeccoClubServer</target> 
    <descriptor-file-name>jdbc/EOrderDataSource-jdbc.xml</descriptor-file-name> 
    </jdbc-system-resource> 
    <jdbc-system-resource> 

EOrderDataSource-jdbc.xml

<?xml version='1.0' encoding='UTF-8'?> 
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd"> 
    <name>EOrderDataSource</name> 
    <jdbc-driver-params> 
    <url>jdbc:oracle:thin:@dicmdb01:1512:o2ks1</url> 
    <driver-name>oracle.jdbc.OracleDriver</driver-name> 
    <properties> 
     <property> 
     <name>user</name> 
     <value>asd</value> 
     </property> 
    </properties> 
    <password-encrypted>asd</password-encrypted> 
    </jdbc-driver-params> 
    <jdbc-connection-pool-params> 
    <initial-capacity>2</initial-capacity> 
    <max-capacity>2</max-capacity> 
    <capacity-increment>2</capacity-increment> 
    <test-frequency-seconds>7200</test-frequency-seconds> 
    <test-connections-on-reserve>true</test-connections-on-reserve> 
    <test-table-name>DUAL</test-table-name> 
    </jdbc-connection-pool-params> 
    <jdbc-data-source-params> 
    <jndi-name>EOrderDataSource</jndi-name> 
    <global-transactions-protocol>EmulateTwoPhaseCommit</global-transactions-protocol> 
    </jdbc-data-source-params> 
</jdbc-data-source> 

И мой диспетчеру сервлет

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xsi:schemaLocation="http://www.springframework.org/schema/jee 
         http://www.springframework.org/schema/jee/spring-jee-3.0.xsd 
         http://www.springframework.org/schema/beans 
         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
         http://www.springframework.org/schema/context 
         http://www.springframework.org/schema/context/spring-context-3.0.xsd 
         http://www.springframework.org/schema/mvc 
         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 

    <mvc:annotation-driven/> 
    <context:annotation-config /> 

    <context:component-scan 
     base-package="com.adecco.spring" /> 

    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass" 
      value="org.springframework.web.servlet.view.JstlView" /> 
     <property name="prefix" value="/WEB-INF/jsp/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

    <jee:jndi-lookup id="dataSource" jndi-name="weboDataSource" expected-type="javax.sql.DataSource"/> 

</beans> 

грузоотправитель Сервет с ручным подключением, который прекрасно работает

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
         http://www.springframework.org/schema/context 
         http://www.springframework.org/schema/context/spring-context-3.0.xsd 
         http://www.springframework.org/schema/mvc 
         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 

    <mvc:annotation-driven/> 
    <context:annotation-config /> 

    <context:component-scan 
     base-package="com.adecco.spring" /> 

    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass" 
      value="org.springframework.web.servlet.view.JstlView" /> 
     <property name="prefix" value="/WEB-INF/jsp/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> 
     <property name="url" value="jdbc:oracle:thin:@dicmdb01:1512:o2kd1" /> 
     <property name="username" value="abcd" /> 
     <property name="password" value="xyz" /> 
    </bean> 
</beans> 

Даже на Java стороне его очень просто, чтобы получить объект источника данных и его работает отлично:

Context ctx = new InitialContext(); 

DataSource ds = (DataSource) ctx.lookup ("EOrderDataSource"); 
+0

Кто-нибудь Пожалуйста, помогите – AVI

ответ

0

У вас есть jndi-name="weboDataSource" в вашей конфигурации пружины и <jndi-name>EOrderDataSource</jndi-name> в конфигурации WebLogic. Эти имена не совпадают.

+0

Извините, мой плохой - это была опечатка, настройка весны - EOrderDataSource – AVI

+0

Пожалуйста, помогите !!!! В настоящее время в моем weblogic есть 2 источника данных JDBC с именем JNDI - EOrderDataSource и weboDataSource ... Я использую EorderDataSource. – AVI

+0

Попробуйте использовать атрибут resource-ref = "true" в элементе jndi-lookup. – Jukka

Смежные вопросы