May has been a busy month for which I had covering Spring Security for the book on my agenda. You already can see the examples of that chapter here github.com/springbootbuch/security. I think there are some really useful configurations inside. As a matter of fact, shortly after I began that chapter, Spring Security 5.0 M1 has been released. Spring Security 5 will not only support Spring 5s reactive programming model from the ground, but it will also make OAuth a first class citizen. I can probably look forward to change my OAuth example. Anyway, I’ll have to revisit the OAuth examples anyway if I have room left for my cloud examples… But I’ll cover that later:
To my great please I met Joe Grandja, Co-Lead of Spring Security at Sergis great Spring I/O in Barcelona and we could chat about some changes in Spring Security. I actually didn’t plan to go to Barcelona again, my agenda was already packed, but one thing came to another and I ended up with a packed room for my “bootiful databases” talk, covering Spring Boot and jOOQ again:
— Andy Wilkinson (@ankinson) May 18, 2017
Thanks to everybody who showed up!
Again, many things are not planed long before. As I had written January, I’m gonna visit Cluj and will do a joint talk on databases with Vlad. Turns out the possibility arrived that several people want me to do a Spring Boot workshop: What a nice surprise. I’m really excited and I hope that turns out as good as the recent talks.
While at Spring I/O I met a lot of friends from the Spring team (see featured post image) which is always great. I also met Johannes, who works at Mesosphere and has invited my to Kassel in July. After his talk I had a good idea what Mesos is about and took to freedom to polish his demo application a bit. I really wish that some people around here would welcome my suggestions only half as euphoric as he did:
— Johannes Unterstein (@unterstein) May 23, 2017
You may ask why I am “pedantic” about that stuff: I want to have my infrastructure as simple and streamlined as possible. I don’t want to explain to anybody why I did have to override a handful of classes, provide all kinds of infrastructure to do the most simple things.
What I tried to convey in my book is that many programmers can keep their own configuration very simple. It’s often enough to know which properties to change and how one can take advantage from the sophisticated profiles and environment evaluation in Spring Boot. If custom configuration is necessary, keep that to a minimum too. That is: Extend only classes that are meant to be extended.
The last stance is especially true for Spring Security within Spring Boot: Use the hooks provided, read the docs and my book carefully before overwriting or overriding stuff. That being said: The chapter is finished. My last two milestones are Messaging and the reactive programming model coming up in Spring 5. Messaging is about a third done and for reactive programming I had help of one of the best people to get help from in Germany: Thanks Mark for providing the motivation.
I’ll probably write less in June, but I’m still in time. The problem in the end will be more of a space than a time thing: I’m already over the agreed number of pages and I’m not gonna fit in a complete and in-detail explained microservice story. But hey, that’s maybe a thing for a second book.
Apart from the that, the month was batshit crazy. High workload and a so-so atmosphere at max in the office and several important appointments outside. As usual when I’m stressed I cope with more work, but work that actually has a purpose so I provided a jOOQ test-slice for Spring Boot 2. As it has been the case several times now, I learned more than just some Spring internals from Stéphane reviewing my code.
Hell… I forgot the running sushi apocalypse that happened while discussing internal and external configuration with Franz… Thanks, I appreciate your feedback a lot: