Multiple javax.inject.Provider implementations and their binding

Hi everyone! Recently I became a freelancer and started to work for one big company. It’s great, I hope to continue work there.And I also started to work on project where Dropwizard stack is used.Naturally, Guice DI framework is used ther.So, today I would like to write an article about how to bind javax.inject.Provider interfaces to their implementation. The thing is that Guice treat javax.inject.Provider specially, and you cannot just to Because Provider is a generic interface, and google care about initializing this Providers. So, to do that - just do the following There’s no special magic there, you just need to specify generic from your Provider and how to name it.And then u can do something like this See you!

Always add a clean phase in your build execution

Today I faced an issue on Jenkins. I needed to fix jenkins job, which is getting info about sonar metrics, and received an error in job console It was weird for me, because I was getting success jobs, everything went right, but as soon as I failed one job due to bad configuration - hell started, and I couldn’t understand why there my job is failing all the time.So I began experiments. After several tries I managed to add prefix clean phase and everything worked. Another problem was that I was building this job with different parameters and depending on specific parameter I was receiving specific console output.But then I understood that the problem was that I had constant artifacts, that were not cleaned. And I was receiving different output because this parameter was a version of plugin , so that’s why I received different output.

Getting started with Gradle

It’s been a long time since gradle become so popular framework.Year ago I tried to build one project using gradle with my coworkers, but as for me, I didn’t understand all the upsides and downsides of this framework. So, today I dedicated one day for investigating this framework and I would like to make some review of it. The author of this beatiful framework is Hans Dockter Gradle is a dynamic build tool. That’s mean, that you can use this build tool not only for java, but for any language, that can provide plugin for itselft. Gradle is a live project. I mean, Gradle is one of the biggest open source projects in the world, there is 1.5 million builds using gradle every day. ##Agenda Gradle setup Short introduction to Gradle Build Single Module Project setup ####Gradle setup If we are using Windows or Linux or OS X, we can install Gradle by following steps: Download the binaries from the downloads page. Unpack the zip file and add the GRADLE_HOME/bin directory to the PATH environment variable. On linux or OS X, just do following: Open your terminal Type nano .bashrc And modify this file as in example below Then restart...

Spring Security: Avoiding Basic Authentication window in your browser

While tunnning your Spring application with Basic Authentication security you can notice that you are receiving Basic Aithentication window in your browser. The problem is with BasicAuthenticationEntryPoint that sends header WWW-Authenticate: Basic realm="nmrs_m7VKmomQ2YM3:" So, if you don’t want to receive this window in your browser, just create Custom Entry Point:

Portfolio On this page I put projects, where I was involved.Some of the projects were just backend web services, some were full stack applications.Anyway, if you are interested in hiring me as a frelance developer, you should learn about this projects: ###Online Booking system for restaurants To be honest, this was my first project, where I was as a developer.I remember, that I was just a junior java developer with some contradictory skills. The real issue was with my team - actually, nobody could review me, because I didn’t have senior developers on the project.So, it was a risky project for me. Anyway, I finished him. Later, I switched to another company, so I don’t much about this project for now. I use: Java 1.7 Spring 3.0 Hibernate(Can’t remember version) Twitter bootstrap Backbone.js Digital Ocean as a cloud server ###Accountant system. This was my second project, on which I worked as a backend developer.This was a project, where I started to use unit tests, database migrations, maven multi-module structure, and so on.This also was a project, where I realized why I should use JSR and specifications I use: Spring 4.0 JPA(Hibernate) Maven 3 Jenkins PostgreSQL Liquibase ###Simple Save...