In the last posts I already covered the session cache as well as the query cache. In this post I will focus on the second-level cache. The Hibernate Documentation provides a good entry point reading on the second-level cache. The key characteristic of the second-level cache is that is is used across sessions, which also [...]
TechTarget is hosting this years Java Symposium in Las Vegas. dynaTrace is exhibiting and we are given the opportunity to talk about the challenges of Software Architecture and how the lack of visibility into the performance aspect of your architecture will result in huge efforts when those problems manifest itself in a production environment. If you [...]
In the last post I wrote on caching in Hibernate in general as well as on the behavior of the session cache. In this post we will have a closer look at the QueryCache. I will not explain the query cache in details as there are very good articles like Hibernate: Truly Understanding the Second-Level [...]
Hibernate offers caching functionality which is designed to reduces the amount of necessary database access. This is a very powerful feature if used correctly. However I have seen a lot of cases and also talked to many people on caching in Hibernate, where caching is either not understood correctly or even used the wrong way. [...]
Last year december I gave a talkat DeVoxx on Performance Antipatterns. Some people asked me to make avaiable the contents of my talk. Instead of publishing the slides I decided to write a couple of blog entries on the contents of my talk. In the first entry I will start with some general perceptions on [...]
In the first post for this year, I will discuss an interesting question: “How to find invisible performance problems”. What makes up an invisible performance problem? An invisible performance problem is an inherent problem in your code, which does not yet manifest in externally observable problems like slow response times, high CPU load or the [...]
Exceptions are a great way to communicate error state back to the caller. The exception class basically defines the type of error, e.g.: AccessDenied that happened. The detailed message then explains the exact reason for the problem, e.g.: “Your user has no rights to access file xyz”. Documentation of frameworks usually lists all types of exceptions [...]
Performance vs. Scalability
When people talk about performance and scalability they very often use these two word synonymously. However they mean different things. As there is a lot of misunderstanding on that topic, I thought it makes sense to have a blog post on it. One of the best explanations can be found here. It is a nice [...]
I’ve been working on building a .NET Client Application to consume a Java based Web Service hosted in an Equinox-based Server Application. I followed the standard procedure in Visual Studio to consume a Web Service Add Web Reference Instantiate Proxy Class in my client code Added the additional User Credential code as the Web Service [...]
Continuous Integration has become a well established practice in todays modern software development. Especially for enterprise applications – that face the architectural challenge of dealing with a highly distributed and heterogeneous environments - its more necessary than ever to establish and enforce these kinds of practices. Aren’t Automatic Builds, Unit- and Integration Tests enough? How often have you [...]



