You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/main/asciidoc/preface.adoc
+16-13Lines changed: 16 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -50,13 +50,13 @@ While the open source ecosystem hosts various non-blocking relational database d
50
50
The term, reactive refers to programming models that are built around reacting to change, availability, and processability — network components reacting to I/O events, UI controllers reacting to mouse events, resources being made available and others.
51
51
In that sense, non-blocking is reactive, because, instead of being blocked, we are now in the mode of reacting to notifications as operations complete or data becomes available.
52
52
53
-
There is also another important mechanism that we on the Spring team associate with reactive and that is non-blocking back pressure.
53
+
There is also another important mechanism that we on the Spring team associated with reactive and that is non-blocking back pressure.
54
54
In synchronous, imperative code, blocking calls serve as a natural form of back pressure that forces the caller to wait.
55
-
In non-blocking code, it becomes important to control the rate of events so that a fast producer does not overwhelm its destination.
55
+
In non-blocking code, it becomes essential to control the rate of events so that a fast producer does not overwhelm its destination.
56
56
57
-
Reactive Streams is a https://github.com/reactive-streams/reactive-streams-jvm/blob/v{reactiveStreamsVersion}/README.md#specification[small spec] (also https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/Flow.html[adopted] in Java 9) that defines the interaction between asynchronous components with back pressure.
58
-
For example a data repository (acting as {reactiveStreamsJavadoc}/org/reactivestreams/Publisher.html[`Publisher`]) can produce data that an HTTP server (acting as {reactiveStreamsJavadoc}/org/reactivestreams/Subscriber.html`[`Subscriber`]) can then write to the response.
59
-
The main purpose of Reactive Streams is to let the subscriber to control how quickly or how slowly the publisher produces data.
57
+
https://github.com/reactive-streams/reactive-streams-jvm/blob/v{reactiveStreamsVersion}/README.md#specification[Reactive Streams is a small spec] (also https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/Flow.html[adopted in Java 9]) that defines the interaction between asynchronous components with back pressure.
58
+
For example, a data repository (acting as {reactiveStreamsJavadoc}/org/reactivestreams/Publisher.html[`Publisher`]) can produce data that an HTTP server (acting as {reactiveStreamsJavadoc}/org/reactivestreams/Subscriber.html`[`Subscriber`]) can then write to the response.
59
+
The main purpose of Reactive Streams is to let the subscriber control how quickly or how slowly the publisher produces data.
60
60
61
61
[[get-started:first-steps:reactive-api]]
62
62
== Reactive API
@@ -81,8 +81,8 @@ Whenever feasible, Spring Data adapts transparently to the use of RxJava or anot
81
81
The Spring Data R2DBC 1.x binaries require:
82
82
83
83
* JDK level 8.0 and above
84
-
* http://spring.io/docs[Spring Framework] {springVersion} and above
85
-
* R2DBC {r2dbcVersion} and above
84
+
* https://spring.io/docs[Spring Framework] {springVersion} and above
85
+
* https://r2dbc.io[R2DBC] {r2dbcVersion} and above
86
86
87
87
[[get-started:help]]
88
88
== Additional Help Resources
@@ -101,12 +101,15 @@ Professional Support :: Professional, from-the-source support, with guaranteed r
101
101
[[get-started:up-to-date]]
102
102
== Following Development
103
103
104
-
For information on the Spring Data R2DBC source code repository, nightly builds, and snapshot artifacts, see the Spring Data R2DBC http://projects.spring.io/spring-data-r2dbc/[homepage].
105
-
You can help make Spring Data best serve the needs of the Spring community by interacting with developers through the Community on http://stackoverflow.com/questions/tagged/spring-data[Stack Overflow].
106
-
To follow developer activity, look for the mailing list information on the Spring Data R2DBC https://projects.spring.io/spring-data-r2dbc/[homepage].
107
-
If you encounter a bug or want to suggest an improvement, please create a ticket on the Spring Data R2DBC https://github.com/spring-projects/spring-data-r2dbc/issues[issue tracker].
108
-
To stay up to date with the latest news and announcements in the Spring eco system, subscribe to the Spring Community http://spring.io[Portal].
109
-
You can also follow the Spring http://spring.io/blog[blog] or the Spring Data project team on Twitter (http://twitter.com/SpringData[SpringData]).
104
+
* For information on the Spring Data R2DBC source code repository, nightly builds, and snapshot artifacts, see the Spring Data R2DBC http://projects.spring.io/spring-data-r2dbc/[homepage].
105
+
106
+
* You can help make Spring Data best serve the needs of the Spring community by interacting with developers through the Community on http://stackoverflow.com/questions/tagged/spring-data[Stack Overflow].
107
+
108
+
* If you encounter a bug or want to suggest an improvement, please create a ticket on the Spring Data R2DBC https://github.com/spring-projects/spring-data-r2dbc/issues[issue tracker].
109
+
110
+
* To stay up to date with the latest news and announcements in the Spring ecosystem, subscribe to the Spring Community http://spring.io[Portal].
111
+
112
+
* You can also follow the Spring http://spring.io/blog[blog] or the Spring Data project team on Twitter (http://twitter.com/SpringData[SpringData]).
Copy file name to clipboardExpand all lines: src/main/asciidoc/reference/mapping.adoc
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -72,7 +72,7 @@ The `MappingR2dbcConverter` can use metadata to drive the mapping of objects to
72
72
* `@PersistenceConstructor`: Marks a given constructor - even a package protected one - to use when instantiating the object from the database. Constructor arguments are mapped by name to the key values in the retrieved row.
73
73
* `@Column`: Applied at the field level and described the name of the column as it will be represented in the row thus allowing the name to be different than the fieldname of the class.
74
74
75
-
The mapping metadata infrastructure is defined in a separate spring-data-commons project that is technology agnostic. Specific subclasses are using in the R2DBC support to support annotation based metadata. Other strategies are also possible to put in place if there is demand.
75
+
The mapping metadata infrastructure is defined in the separate spring-data-commons project that is technology agnostic. Specific subclasses are using in the R2DBC support to support annotation based metadata. Other strategies are also possible to put in place if there is demand.
76
76
77
77
78
78
[[mapping-custom-object-construction]]
@@ -81,7 +81,7 @@ The mapping metadata infrastructure is defined in a separate spring-data-commons
81
81
The mapping subsystem allows the customization of the object construction by annotating a constructor with the `@PersistenceConstructor` annotation. The values to be used for the constructor parameters are resolved in the following way:
82
82
83
83
* If a parameter is annotated with the `@Value` annotation, the given expression is evaluated and the result is used as the parameter value.
84
-
* If the Java type has a property whose name matches the given field of the input row, then it's property information is used to select the appropriate constructor parameter to pass the input field value to. This works only if the parameter name information is present in the java `.class` files which can be achieved by compiling the source with debug information or using the new `-parameters` command-line switch for javac in Java 8.
84
+
* If the Java type has a property whose name matches the given field of the input row, then it's property information is used to select the appropriate constructor parameter to pass the input field value to. This works only if the parameter name information is present in the java `.class` files which can be achieved by compiling the source with debug information or using the `-parameters` command-line switch for javac in Java 8.
85
85
* Otherwise a `MappingException` will be thrown indicating that the given constructor parameter could not be bound.
When you run the main program, the preceding examples produce the following output:
165
+
When you run the main program, the preceding examples produce output similar to the following:
166
166
167
167
[source]
168
168
----
@@ -364,7 +364,7 @@ NOTE: `execute().sql(…)` accepts either the SQL query string or a query `Suppl
364
364
=== Running Queries
365
365
366
366
SQL queries can return values or the number of affected rows.
367
-
`DatabaseClient` can return the number of updated rows or the rows themself, depending on the issued query.
367
+
`DatabaseClient` can return the number of updated rows or the rows themselves, depending on the issued query.
368
368
369
369
The following example shows an `UPDATE` statement that returns the number of updated rows:
370
370
@@ -409,7 +409,7 @@ Flux<Person> all = client.execute()
409
409
[[r2dbc.datbaseclient.mapping]]
410
410
=== Mapping Results
411
411
412
-
You can customize result extraction beyong `Map` and POJO result extraction by providing an extractor `BiFunction<Row, RowMetadata, T>`.
412
+
You can customize result extraction beyond `Map` and POJO result extraction by providing an extractor `BiFunction<Row, RowMetadata, T>`.
413
413
The extractor function interacts directly with R2DBC's `Row` and `RowMetadata` objects and can return arbitrary values (singular values, collections/maps, objects).
414
414
415
415
The following example extracts the `id` column and emits its value:
@@ -418,8 +418,7 @@ The following example extracts the `id` column and emits its value:
0 commit comments