I have taken a part in JPrime 2016 conference. Great event organized by BUlgarian JUG in Sofia. I have learnt a lot of RxJava, that was cover by nearly half of the talks. It is a Java library, that enables programmers to build responsive, resilient, scalable applications. It enables to declare a computation as a handling event from continuous stream. I have attended two talks on this topic. There were two talks covering this topic. The first one covered the basic concepts and ideas, that drive RxJava named Going Reactive with RxJava. The second one showed the rxJava usage in an enterprise application to solve common performance issues. Its title was RxJava in Microservices World. As its autor, Piotr Kafel, the RXJava is very addactive due to its nature of solving parallel computation problems in very attractive way.
We are accustomed to using design patterns to solve common problems. Factory is a very popular one. Are you sure, that your architecture is proper, when you inject a factory as a dependency to your component. I will try to prove, that it is not.
A good practice, when building a spring application is to have few profiles. Usually everyone adds three common ones: dev, test, prod. Therefore each time you run you application with
bootRun task you need to remeber to pass value for system property
spring.profiles.active. However configuring the task to be run with predefined profile could be dangerous. Imagine what could happen if you service is run with profile dev on production. My idea is to create a separate task, that would initialize all properties for developing purposes.
So we all are building microservices, now. Most of them provides RESTful APIs that enables other ones to perform actions. One day we are realizing that allowing everybody to access an endpoint may lead to security breach. In this article I will show how we can quickly add a shared secret based security to an application, that is based on micro-infra-spring, a project with aim to speed up a microservice creation using spring secuirty authentication filters.