Source Allies Logo

Blog Insights

  • agile icon

    Next Step in Agility

    I often find that teams that have adopted Agile practices quickly plateau. They often start by scheduling a daily stand up, planning in iterations, take time for a retrospective, and modify their estimation process. These are common first steps in the agile adoption process. Teams have varied success and commitments...
  • development icon

    Learning a new Language

    I attended a No Fluff Just Stuff Symposium a few weeks ago. One of the main emphasis during the weekend was learning new languages that are available on the JVM. While there are a variety of reasons that we need to take time to learn new programming languages, one of...
  • development icon

    Spring Injection with @Resource, @Autowired and @Inject

    Annotations public interface Party { } 'Person' is a component and it implements 'Party'. package com.sourceallies.person; ... @Component public class Person implements Party { } 'Organization' is a component and it implements 'Party'. package com.sourceallies.organization; ... @Component public class Organization implements Party { } I setup a Spring context that scans both of these packages for beans marked with '@Component'. <context:component-scan base-package="com.sourceallies.organization"/> <context:component-scan base-package="com.sourceallies.person"/> @Resource private Party party;</pre> ```java @Autowired private Party...
  • development icon

    Debugging memory leaks with VisualVM

    At work I had run into a memory leak when scrolling through large result sets returned from Hibernate. I thought I had fixed it by performing a evict()/clear()/flush() in the HibernateTemplate that I was using but suddenly the leak was back. I was using VisualVm to monitor the...
  • development icon

    Creating an Open Source Project

    I feel like I understand the differences a little better, but I would like to know what other open source projects are using. I found a list of the “Top 20 Most Commonly Used Licenses in Open Source Projects" (http://www.blackducksoftware.com/oss/licenses). With the comparisons and the ranking I am leaning towards...
  • development icon

    Maven 3 Tutorial - Project Setup

    To illustrate this point I will share a story from my early years in software development. Our shop used Ant without Ivy.  Ivy didn’t become a full fledged Apache project until October, 2007. Each team had their own Ant build. As we began to move from team to team we had to find...
  • testing icon

    Testing Spring Wiring

    One of our partners suffered from this very issue. Due to environmental constraints they could not run automated, in-container tests that would have identified misconfigured beans. After repeatedly committing stupid configuration mistakes, I decided that I would write a Spring wiring test. As I began to write this I encountered...
  • testing icon

    Mock Me With Fewer Words

    With Mockito 1.8.3 or higher you can significantly reduce your test code setup. Here is the code before. public class MockitoTest { private EmailFactory emailFactory; private Notifier notifier; private Emailer emailer; private Email email; @Before public void setUp(){ ...
  • default icon

    Rethinking the DAO-Service layer relationship

    Lately I have been thinking that the standard service-calling-the-dao-layer architecture hasn't been working out as well as I would hope. The applications I have been working on have been using Spring and Hibernate with a dao object per model object. While this does provide a good separation between...
  • testing icon

    Selenium IDE - Part II

    In Part I we covered All examples will use the sample site https://sites.google.com/site/example4selenium/. <li>You can verify your XPath by clicking the 'Find' button. The element will be highlighted in the browser with flashing neon green if it exists.</li> <li>If you want to select elements by position, you may want the following information....