Кто-нибудь делал конфигурацию spring-integration-jdbc StoredProcOutboundGateway с DSL?
Spring-integration-jdbc StoredProcOutboundGateway с DSL
Ответы (1)
Для JDBC нет Spring Integration Java DSL. Не стесняйтесь поднять JIRA по этому вопросу.
В качестве обходного пути у нас действительно нет выбора, кроме как использовать класс StoredProcOutboundGateway
из общего метода .handle()
EIP:
@Bean
public StoredProcExecutor storedProcExecutor() {
StoredProcExecutor storedProcExecutor = new StoredProcExecutor(this.dataSource);
storedProcExecutor.setStoredProcedureName("CREATE_USER_RETURN_ALL");
storedProcExecutor.setIsFunction(true);
...
return storedProcExecutor;
}
...
StoredProcOutboundGateway storedProcOutboundGateway = new StoredProcOutboundGateway(storedProcExecutor());
storedProcOutboundGateway.setExpectSingleResult(true);
storedProcOutboundGateway.setRequiresReply(true);
...
.handle(storedProcOutboundGateway)
person
Artem Bilan
schedule
12.10.2017
Спасибо @Arthem, за быстрый ответ, есть ли у нас пример кода, в котором все аспекты StoredProcOutboundGateway представлены в коде Java, а не в конфигурации XML. У меня есть вариант использования, когда имя хранимой процедуры и параметр будут частью заголовка сообщения, и я хочу использовать SpEL. Можно ли это сделать с помощью кода Java (не XML). Есть ли у нас какой-либо эталонный код или модульный тест?
- person Sam; 12.10.2017
Ну да... к сожалению нет. Однако должно быть ясно, что здесь все зависит от
StoredProcExecutor
. См. его JavaDocs для получения дополнительной информации. Если вам нужен setStoredProcedureNameExpression(Expression)
, вы должны заглянуть в SpelExpressionParser
: docs.spring.io/spring/docs/5.0.0.RELEASE/. Для параметров из сообщения вы должны использовать setProcedureParameters(List<ProcedureParameter>)
и использовать его expression
. Пожалуйста, поднимите JIRA по этому вопросу, чтобы добавить пример в Документы: jira.spring.io/browse/INT< /а>
- person Artem Bilan; 13.10.2017
Спасибо @Arthem, ваше руководство помогло. Следуя предоставленной вами ссылке на документ. теперь у меня есть компоненты jdbc с IntegrationFlow, работающими как шарм.
- person Sam; 13.10.2017
Большой! Теперь пришло время принять ответ, чтобы помочь другим: stackoverflow.com/help/someone-answers
- person Artem Bilan; 13.10.2017
также см. jira.spring.io/browse/INT-4529, чтобы узнать о проблеме, связанной с Jira.
- person dschulten; 04.09.2018