我试图配置一个Spring Batch侦听器,以便为StepExecution事件向Spring Integration Gateway发送消息。
下面的链接解释了如何使用XML配置
有没有更简单的方法使用DSL,避免这种变通?是否有某种方法可以像使用XML配置那样将批处理侦听器直接连接到网关?
干杯,门诺
首先,SI DSL只是现有SI Java和注释配置的扩展,因此它可以与任何其他Java配置一起使用。当然,XML@import
也是正确的。
DSL中没有网关配置,因为它的方法不能与线性IntegrationFlow
连接。需要为每种方法提供下游流。
因此,@messaginggateway
是一个正确的方法:
@MessagingGateway(name = "notificationExecutionsListener", defaultRequestChannel = "stepExecutionsChannel")
public interface MyStepExecutionListener extends StepExecutionListener {}
另一方面,@MessagingGateway
解析以及
标记解析最终得到GatewayProxyFactoryBean
定义。因此,如果不想引入新类,只需声明该bean:
@Bean
public GatewayProxyFactoryBean notificationExecutionsListener(MessageChannel stepExecutionsChannel) {
GatewayProxyFactoryBean gateway = new GatewayProxyFactoryBean(StepExecutionListener.class);
gateway.setDefaultRequestChannel(stepExecutionsChannel);
return gateway;
}
@Bean
public IntegrationFlow gatewayFlow() {
return IntegrationFlows
.from(MyGateway.class, g ->
g.method("save", f -> f.transform(...)
.filter(...))
.method("delete", f -> f.handle(...)))
.handle(...)
.get();
}
然而,我不确定它是否会简化生命周期,因为任何嵌套的Lambda只会增加更多的噪声,并可能破坏松散耦合
原则。
Oracle正在转向通用连接池(UCP),用于维护可以借用、返回或关闭的池连接。我的webapplication在它自己的数据层中就有了这一点。这个应用程序将迁移到使用Hibernate的JPA。此时,我只能将Hibernate配置为使用Oracle JDBC驱动程序。
我现在正在使用rails应用程序。在我的应用程序配置文件中,我添加了以下内容: config/application.rb 为什么未能连接fluentd关于sidekiq和web图像? 将其添加到: 将其添加到:
我有一个UBUNTU/APACHE框,当我尝试使用主机名访问web服务器时,它会将我带到DocumentRoot(即/var/www),并显示那里的所有文件/文件夹(如预期的那样)。 在我的 /var/www我有几个文件夹,如 /var/www/devel和var/www/live,我如何更新我的配置,以便当我通过它的主机名[超文本传输协议://servername]击中服务器时,它会进入默认情况
这段配置通过上下文进行扫描--我用调试器检查了它。问题可能出在哪里?
但是如果我让Spring Boot自动配置JOOQ,那么我应该把这个设置放在哪里呢? 基本的Spring Boot配置似乎只支持在中设置,如jooq-spring-boot-example所示。 我尝试将放入中,但这对SQL没有任何影响。 有没有办法自定义Spring boot JOOQ配置,而不必自己配置JOOQ? 我使用的是SpringBoot 2.1.7.Release和JOOQ 3.11.
问题内容: 我尝试执行此docker命令以使用Elasticsearch设置Jaeger Agent和Jaeger Collector。 但是此命令给出以下错误。如何用ElasticSearch配置Jaeger? 问题答案: 搜索解决方案一段时间后,我发现了一个docker-compose.yml文件,该文件具有Jaeger Query,Agent,collector和Elasticsearch配