Spring Boot 2 M4中的Reactor更改

时间:2017-09-18 11:19:46

标签: spring spring-boot project-reactor spring-webflux

我已经从Spring Boot 2.0.0.M3更新到2.0.0.M4,它将Reactor从3.1.0.M3更新为3.1.0.RC1。这导致我的代码在许多地方中断。 Dim cmd As New System.Data.SqlClient.SqlCommand Dim RA As Integer Try cn.Open() cmd.CommandType = System.Data.CommandType.Text If Me.RadioButton1.Checked Then cmd = New SqlCommand("INSERT into Normal_L (fromD,toD,DScrip) VALUES ('" & DateTimePicker2.Text & "','" & DateTimePicker1.Text & "','" & TextBox5.Text & "') where ID ='" & ComboBox1.Text & "' ", cn) cmd.Connection = cn RA = cmd.ExecuteNonQuery() MessageBox.Show("Process successful!", "Save", MessageBoxButtons.OK, MessageBoxIcon.Information) cn.Close() End If Catch MessageBox.Show("Error!", "exit", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try TextBox3.Clear() TextBox4.Clear() TextBox5.Clear() End Sub 现在返回Mono.and(),之前返回Mono<Void> Mono<Tuple>的情况也是如此 以下代码使用旧版本进行编译,但不使用新版本进行编译

Mono.when()

这应该如何改变?

2 个答案:

答案 0 :(得分:4)

生成when

andTuple已替换为zip / zipWith,它们与Flux API完全等效,为了对齐API。仅在when中找到的剩余andMono方法现在纯粹是关于组合完成信号,丢弃onNexts(因此它们返回Mono<Void>

答案 1 :(得分:3)

我切换到Mono.zip(...):

mono1.and(mono2).map(...)

=&GT;

Mono.zip(mono1, mono2).map(...)