Blog Insights
-
MySQL Master/Slave configuration with EJB3 and JPA
Well this turned out to be quite an exercise. The goal: scalable reads with MySQL in master-slave configuration, writing to the master, and reading from N slaves, load balanced in round-robin fashion (or something). The problem: using JPA (Java Persistence API) instead of direct JDBC calls. Turns out the MySQL... -
Loadbalancing and its benefits
What is load balancing? Load balancing is the practice of distributing a workload across multiple computers for improved performance. Load balancing distributes work among resources in such a way that no one resource should be overloaded and each resource can have improved performance, depending on the load balancing algorithm. Items... -
Rendering Global t:messages After Redirect
A common problem when working with JSF is getting global info messages via <t:messages globalOnly="true"> or <f:messages globalOnly="true"> to display messages set in the previous request when you have a <redirect/> in your faces-config for a particular page You will not see your <t:messages> that are set on the previous... -
Developing a multithreaded test harness
You can’t ignore the fact that web servers are multithreaded. We can hide as much as we want, but sooner or later you’ll find yourself in the situation where your application works fine during development and testing; but once it hits production you start hearing about “funny” things happening. While... -
Simple Subversion Branching and Merging
Branching and merging in Subversion is a great way to work on large new features without disrupting mainline development on trunk. However, it has a reputation for being so difficult that many developers never take advantage of it. In this post I’ll show just how easy it really is thanks... -
Environment Specific Properties in Spring
On many occasions I want to be able to inject environment specific property values into my Spring managed beans. These may be things like web service endpoints, database URLs, etc. Values I know for each environment at build time, but I want to use the same WAR/EAR file in each... -
The Easiest Way to Organize Zimbra Email
If you’re like me, receiving 30-40 emails is par for the day. Because Source Allies provides consulting services for companies wishing to implement or better take advantage of Zimbra, it is also the mail server we use at our company. Zimbra has incredible search capabilities, but my OCD tendencies still... -
Siri
Siri, which debuted last week, is surely the first iPhone app that’s the commercialized result of a multimillion-dollar Defense Department research project. It’s a “virtual personal assistant” that uses voice recognition, your GPS location, and links to local information and services to respond to requests you speak into an iPhone... -
Java EE 6 and Scala
Last weekend while pondering the question “Is Scala ready for the enterprise?” I decided to write a simple Java EE 6 app entirely in Scala, without using any Java. I had three main reasons for doing this: one was just to see how easy/difficult it would be to write everything... -
Running a Technical Book Club - Take 1
Last year I coordinated a technical book club here at Source Allies. This was my first experience doing one and I wanted to share my experience for the benefit of others who may be looking at starting one. The fact that we even started a book club was a big...