Я использую jdbc: stored-proc-outbound-gateway для извлечения результата из хранимой процедуры. У меня есть тип возврата курсора, который отлично работает со статическим аргументом конструктора.jdbc: cursor-proc-outbound-gateway cursor - аргумент конструктора
<int-jdbc:sql-parameter-definition name="O_TEST_RC" type="#{T(oracle.jdbc.OracleTypes).CURSOR}" direction="OUT" return-type="testCursor"/>
<bean id="testCursor" class="package.TestCursor">
<constructor-arg>
<value>2015/10/14</value>
</constructor-arg>
</bean>
Как сделать аргумент конструктора динамическим с полезной нагрузкой. Пожалуйста, предложите.
Класс Testcursor, который реализует SqlReturnType для настраиваемой обработки данных и требует, чтобы параметр подрядчика обрабатывал бизнес-логику .. есть способ динамически передавать аргумент в SI. Предложение, пожалуйста. –
No-op. Вы должны переписать логику, чтобы принять этот аргумент в реализации 'getTypeValue()'. Для типа «return-type» требуется ссылка для компонента «singleton». Таким образом, вы можете указать его свойства только один раз на этапе инициализации. Если вы хотите получить доступ к 'payoad'' requestMessage', вы должны использовать что-то вроде 'ThreadLocal' перед' 'для хранения и очистки после этого. В противном случае было бы лучше отличить логику и адаптер адаптера выполнить логику БД, а все остальное переместить в '' –
Threadlocal будет лучшим набором. Спасибо за ваше предложение. –