26. Pain
• Some structural reorganisation may be needed
• This project has no command-line build
• IDE support is not what we’re used to
• RTFM. No, really do.
44. • Work with multiple streams
• Have multiple consumers
• Backpressure
• Very different concurrency model
• Reactive API lets you work with different
implementations
Reactive
Firstly, show IntelliJ working perfectly fine with JDK 9
Show “sense” at the Java 8 level compiling with Java 9
Will have some missing pieces
Can’t use underscores
THIS SECTION IS ABOUT ERRORS THAT MIGHT NOW BE IN YOUR CODE
Started with Gradle Structure
Ended up with this
JDK 9
Support in the IDE:
- doesn’t error
- can create module-info files
- basic code completion:
* requires, plus completion for jdk modules
* exports, plus completion for module names
* opens… to… and completion
- suggests adding “requires” lines
- manually have to add exports
20 minutes into presentation?
Basically the same thing, but instead of injecting a function into some arbitrary position (which mine was), gives much more clarity to the end points and their jobs
Picture of what mood service does – with tweet coming in and CSV going out per tweet
Was actually a bit easier to test, because I was mocking out publishers and subscribers
Need at least 15 minutes remaining
This section is 10 minutes
Oxymoron
Annotation params
No warning on imports
Wish the param had been called “doomed”
Can generate inside IntelliJ with…
-html5
Including camel case search
http://download.java.net/java/jdk9/docs/api/overview-summary.html
https://youtrack.jetbrains.com/issue/IDEA-161611
Please do give us feedback
5 minutes remaining?
Defaults (GC) changing, validation being added, tools removed, internal APIs being hidden, logging messages changing
Gradle, Groovy not working for me
You can make use of the modules in the JDK, but you don’t need to apply it everywhere