There are many cool things one can do to leverage the power of Slack – private channels, embedding various content, searching all the messages from one place, sharing files and code, using some of the many available integrations or building one yourself. In this post I will focus on the last one. I have finished such an implementation myself recently. My project was a creation of a simple Slack bot for scheduling foosball games for my teammates called Foosie. It is a Spring Boot application that I open-sourced and it is available on GitHub. In this article I will share some of the noteworthy aspects of this little project and hopefully entice you to give it a try yourself. Continue reading “Building your own Slack bot”
Category: Spring
Advanced config with configuration meta-data in Spring Boot
After a short introduction to configuration meta-data and covering the basics in my previous post called Pimp your config with configuration meta-data in Spring Boot, it is time to take a look at how to take this one step further and further customize the configuration. In this post, I plan to present deprecation of a configuration property and discuss various value providers allowing for one of the most comfortable application configuration I have ever experienced (long gone are the times of making typos in your configuration while trying to write out the fully qualified class name or resource path – let’s rejoice. 🙂
Continue reading “Advanced config with configuration meta-data in Spring Boot”
Pimp your config with configuration meta-data in Spring Boot
There were many updates released in the Spring Boot 1.3.0 but one of them stood out to me because I was not aware of this before and the state it got to makes it one really useful feature (unfortunately available only in Spring Boot as of writing this). I am talking about configuration meta-data and the processing related to this area of framework / application. As I will demonstrate further, there are several ways you can make use of it and the framework also allows you to leverage the benefits of automated processing. If you feel the need to take the matters into your own hands don’t worry – there is a way of manual entry as well if you want to use some of the features allowing you to precisely tailor your setup. Let’s talk configuration. Continue reading “Pimp your config with configuration meta-data in Spring Boot”
Spring Cloud AWS with proxy settings
In my previous article, Spring and Amazon Web Services, I provided a brief introduction to Spring Cloud AWS module and what you as a developer can expect from it at this point in time. One thing that is not obvious from the official documentation is how to use this module when your Internet connection is restricted by a proxy server. In this post I will outline how to approach passing of proxy configuration for both Java-based and XML-based configuration. This aspect of configuration will probably be addressed in the future releases however it might help you now in case you work with this module and need your application to work with a company proxy.
Continue reading “Spring Cloud AWS with proxy settings”
Spring and Amazon Web Services
Amazon Web Services (or AWS) is nowadays one of the most common choices of the infrastructure and hardware providers to use and deploy to. Many Spring applications have tackled challenges of integrating the application infrastructure and the underlying layer. These in-house solutions differ in complexity and the degree of sophistication when it comes to the design and the actual functionality. One of the key attributes of success of such a solution besides the proficiency of the team is the overall knowledge and experience with AWS Java SDK. Based on the way Spring Framework has been designed and maintained, it was only a matter of time before Spring introduced a module dedicated to bridging the gap between AWS and the way we configure our Spring applications. I want to discuss some aspects of adoption of this relatively new module in this post and also point out what to look forward to and what to watch out for.