小编And*_*sun的帖子

IntelliJ IDEA GitLab 集成

InteliJ IDEA 是否集成了 GitLab?我找不到任何合并请求和代码审查管理。可能需要一些插件?你能给建议吗?

intellij-idea intellij-plugin gitlab

8
推荐指数
1
解决办法
1万
查看次数

@EnableIntegration 注解目的

我将项目从 XML Spring Integration 配置迁移到 Java DSL。我事先准备了一些集成测试。所以我可以安全地逐步进行迁移。

在移动此 XML 连接器定义后的某个时刻

<int:publish-subscribe-channel id="upstreamAckChannel" />
Run Code Online (Sandbox Code Playgroud)

到 Java Spring 配置

@Bean
public PublishSubscribeChannel upstreamAckChannel() {
    return MessageChannels.publishSubscribe().get();
}
Run Code Online (Sandbox Code Playgroud)

我的集成流程停止向我的测试重新发送测试消息。

经过一段时间和实验,我意识到我的 Spring Java 配置必须@EnableIntegration注释和通常的 Spring@Configuration注释才能正常工作。

问题是什么是@EnableIntegration注解语义?什么时候不能用,什么时候必须用?

我只能在官方参考手册中找到这个小的配置段落。不幸的是,描述不清楚。

java spring spring-integration

6
推荐指数
1
解决办法
4485
查看次数

在IntelliJ IDEA中支持Drools

我正在尝试将IntelliJ IDEA与Drools文件的遗留项目一起使用,但我在这方面并不成功.

我将Drools框架添加到带有*.drl文件的模块中......没有.我无法重新格式化*.drl文件,没有任何导航,没有代码完成等.

我希望看到能够将Drools facet添加到我的模块,指定*.drl文件然后使用Drools文件基本上与Spring框架一样.

那么Drools实际上支持IntelliJ IDEA的是什么?

drools intellij-idea

6
推荐指数
1
解决办法
2万
查看次数

在Java 8可选管道中展平元素列表

我有一个id值可以null.然后我需要用这个来调用一些服务id来获得交易列表并null从列表中获取第一个不交易.

目前我有这个工作代码

Optional.ofNullable(id)
    .map(id -> service.findTrades(id))
    .flatMap(t -> t.stream().filter(Objects::nonNull).findFirst())
    .orElse(... default value...); 
Run Code Online (Sandbox Code Playgroud)

是否可以flatMap更优雅地实现呼叫线路?我不想在一个管道步骤中加入太多逻辑.

最初我希望以这种方式实现逻辑

Optional.ofNullable(id)
    .flatMap(id -> service.findTrades(id))
    .filter(Objects::nonNull)
    .findFirst()
    .orElse(... default value...); 
Run Code Online (Sandbox Code Playgroud)

但是Optional.flatMap不允许将列表展平为一组元素.

java lambda optional java-8 java-stream

4
推荐指数
1
解决办法
3189
查看次数

如何在Spring Integration Java DSL中创建MessageSelector过滤器?

我试图通过lambda表达式创建消息过滤器,以基于标头值评估过滤消息

IntegrationFlows.from(inputChannel())
    .filter((Message<?> m) -> { return m.getHeaders().get(...)...; })
    .transform(...)
    .channel(outputChannel())
    .get();
Run Code Online (Sandbox Code Playgroud)

但有例外

Caused by: java.lang.ClassCastException: com.<...skipped...>.BusinessPayloadData cannot be cast to org.springframework.messaging.Message

只有这个定义对我有用

IntegrationFlows.from(inputChannel())
    .filter(new MessageSelector(){
        @Override
        public boolean accept(Message<?>message){
            return ...;
        }
    })
    .transform(...)
    .channel(outputChannel())
    .get();
Run Code Online (Sandbox Code Playgroud)

是否可以MessageSelector通过lambda表达式创建实例?

java dsl lambda spring spring-integration

3
推荐指数
1
解决办法
2035
查看次数