Monday, October 14, 2013

Error codes - underscore in numeric literals

    Java 7 introduced a bunch of language improvements (known as Project Coin). One of the improvement that I want to focus on is an underscore in numeric literals.

Friday, October 11, 2013

Can the 'new' keyword be harmful?

    I've heard somewhere that nowadays the object creation in Java is cheap. Every Java Developer knows the 'new' keyword and its purpose. However, does every Java Developer think about the consequences that are related to that keyword?

Friday, September 27, 2013

The Law of Demeter will tell you the truth

    The Law of Demeter (LoD) is well-known in object oriented programming. Can we get to know something unusual from that principle?

Tuesday, September 3, 2013

Hibernate configuration example with in-memory H2 DB for ad-hoc testing

    Sometimes I like to play a little bit with Hibernate. I do not want to spend much time on configuration or DB schema creation so I keep prepared piece of code.

Saturday, August 31, 2013

@PrePersist and @PreUpdate - not working with Hibernate 4 Session and Spring

    @PrePersist and @PreUpdate annotations have their roots in JPA specification. Hibernate implements JPA specification. However, if we decide to use SessionFactory and Session instead of EntityManagerFactory and EntityManager, we will realize that mentioned annotations are ignored. Is there a way to solve the problem?

Saturday, August 10, 2013

IntelliJ - GIT push problem

    IntelliJ seems to be an interesting IDE, however recently I had an issue related to it's GIT plugin.

Saturday, July 27, 2013

Contextual session-local Hibernate interceptor with Spring

    Hibernate interceptor can be used for various purposes, e.g. audit trail, simple logging of persistent operations. However, we should have on our minds the fact that Hibernate SessionFactory level interceptor has to be implemented in a thread-safe manner, because it will be shared among all of the sessions. Is there any way to implement the interceptor with single-thread programming model?

Saturday, July 6, 2013

EJB vs. Spring thread safety

    EJB and Spring are capable of providing ecosystem for the implementation of business services. EJB is more specific in its purpose whereas Spring brings us a great deal of flexibility. Can the freedom of Spring be dangerous?

Saturday, June 22, 2013

Configuration trash

Just create this entry to keep various configurations in a central place. I am going to update it in the future - when it is necessary.

Saturday, June 8, 2013

Async logging performance with log4j

We do it all the time:
log.debug("Log me");
This particular line does three things:
1. Saves the message to some storage,
2. Obfuscates the business logic,
3. Slows the execution down.
However, there are moments when the performance is crucial. Can async logging help us in that matter?