2016-12-01 15 views
0

このクラスのTempStatusClassを使用してメインフレームストアドプロシージャを呼び出そうとしています。定義済みのデータソースとストアドプロシージャを持つstatus-dao.xmlをロードしています。これをコールしようとすると例外org.springframework.beans.factory.BeanCreationExceptionが発生しています:クラスパスのリソース[status-dao.xml]で定義された 'testProcedure'という名前のBeanを作成中にエラーが発生しました:一致するコンストラクタを解決できませんでした(ヒント:型のあいまいさを避けるために単純なパラメータのためにindex/type/name引数を指定する)。Bean作成例外:xmlをロード中に一致するコンストラクタを解決できませんでした

原因がわかりません。どんな助けも高く評価されます。

@TempStatusClass 
public class TempStatusClass implements DataServiceIF{ 

    @Override 
    public Object execute(Object param) throws AppException { 
     StatusUpdateVO input = new StatusUpdateVO(); 
     input.setShipment("X3328332842"); 
     Map dataMap = null; 

     String springConfig = "status-dao.xml"; 
     ApplicationContext context =new ClassPathXmlApplicationContext(springConfig); 
     StatusUpdateImpl statusUpdate = (StatusUpdateImpl) context.getBean("statusUpdateDao"); 

     try { 
      dataMap = statusUpdate.getData(input); 
     } catch (StatusUpdateDAOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return dataMap; 
    } 
} 

XML

<?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.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc.xsd 
     http://www.springframework.org/schema/util  
     http://www.springframework.org/schema/util/spring-util.xsd"> 

    <context:component-scan base-package="com.ops.test.test.*" /> 


    <!-- Step 1: Define the data source --> 
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
     <property name="jndiName" value="jdbc/MAINEFRAME" /> 
    </bean> 

    <!-- Step 2: Define JDBC template --> 
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 
     <property name="dataSource" ref="dataSource" /> 
    </bean> 

    <!-- Step 3: Define Stored Procedures --> 
    <bean id="testProcedure" 
     class="com.ops.test.test.sp.StatusUpdateStoredProcedure"> 
     <constructor-arg> 
      <ref bean="jdbcTemplate" /> 
     </constructor-arg> 
     <constructor-arg value="D472J00.N472RPTL" /> 
    </bean> 

    <!-- Step 4: Define the DAOs --> 
    <bean id="statusUpdateDao" 
     class="com.ops.test.test.dao.impl.StatusUpdateImpl"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="procedure" ref="testProcedure" /> 
    </bean> 

</beans> 

Implを

public class StatusUpdateImpl extends JdbcDaoSupport implements StatusUpdateDao{ 

    /** The data source. */ 
    private DataSource dataSource; 

    /** The stored procedure. */ 
    private StatusUpdateDao storedProcedure; 

    /** The jdbc template object. */ 
    @Autowired 
    private JdbcTemplate jdbcTemplateObject; 

    public StatusUpdateImpl() 
    { 

    } 

    @Autowired 
    public StatusUpdateImpl(DataSource dataSource) { 
     setDataSource(dataSource); 
     JdbcTemplate jdbcTemplate = getJdbcTemplate(); 
    } 
    public void setStoredProcedure(StatusUpdateDao storedProcedure) 
    { 
     this.storedProcedure = storedProcedure; 
    } 


    public Map getData(Object input) throws StatusUpdateDAOException { 
     Map data = storedProcedure.getData(input); 

     return data; 
    } 
} 

答えて

0

あなたは春・データ・コモンズRC1バージョンを使用していますか?私は同じ問題を抱えており、この依存関係のバージョンバンプから始まりました。私は春のジラについても問題を作成しました: https://jira.spring.io/browse/DATASOLR-348

+0

あなたが言及したようにバージョンバンプが原因である可能性があります。私のために、私はxsdsの1つをインポートすることを台無しにしました。古いバージョンにダウングレードしようとしましたか? – Hemal

関連する問題