2016-02-24 3 views
0

У меня есть процедура в sql, ожидающая три параметра. Первые 2 параметра - это даты и последний курсор.Spring Batch - Erro Config XML job - Date

Как настроить XML-JOB Весна Пакетное

Я попытался так

<bean id="databaseItemReader" class="org.springframework.batch.item.database.StoredProcedureItemReader"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="procedureName" value="MyProcedureSQL" /> 
     <property name="fetchSize" value="50" />   
     <property name="parameters"> 
      <list> 
       <bean class="org.springframework.jdbc.core.SqlParameter">     
        <constructor-arg index="0" value="P_INICIO"/> 
        <constructor-arg index="1"> 
         <util:constant static-field="java.sql.TYPES.Date"/> 
        </constructor-arg> 
       </bean> 
       <bean class="org.springframework.jdbc.core.SqlParameter">     
        <constructor-arg index="0" value="P_TERMINO"/> 
        <constructor-arg index="1"> 
         <util:constant static-field="java.sql.TYPES.Date"/> 
        </constructor-arg> 
       </bean>    

       <bean class="org.springframework.jdbc.core.SqlParameter">     
        <constructor-arg index="0" value="P_RESULT"/> 
        <constructor-arg index="1"> 
         <util:constant static-field="java.sql.Types.int"/> 
        </constructor-arg> 
       </bean> 
      </list> 
     </property> 
     <property name="rowMapper"> 
      <bean class="main.java.br.com.util.DataEmployeeMapper" /> 
     </property> 
     <property name="refCursorPosition" value="3"/> 
     <property name="preparedStatementSetter" ref="preparedStatementSetter" /> 
    </bean> 

Это ошибка появляется

Призывание метода инициализации не удалось; вложенное исключение java.lang.NoSuchFieldException: Дата

В этом варианте я также попытался

<util:constant static-field="java.sql.Date"/> 
<util:constant static-field="java.sql.Types.timeStamp"/> 

Как установить, чтобы отправить две даты для процедуры?

+1

Добавить полную трассировку стека не только одна линия – Jens

+0

взять посмотрите http://docs.oracle.com/javase/6/docs/api/java/sql/Types.html, это должно быть, например, java.sql.Types.INTEGER –

ответ

0

Это может помочь изменить имена аргументов использования вместо «index» в элементе constructor-arg, чтобы отладить это. например изменить

<constructor-arg index="1"> 
    <util:constant static-field="java.sql.TYPES.Date"/> 
</constructor-arg> 

к этому

<constructor-arg name="sqlType"> 
    <util:constant static-field="java.sql.TYPES.Date"/> 
</constructor-arg> 

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

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