Since fall when I had my JavaEE course in school I've been hitting seemingly every possible weird little bug in Glassfish's implementation of the JavaEE specification and the SDK's own little bumps and quirks.
It's been so bad that I've thuroughly enjoyed not working with Java at my internship, and I've come to understand why some don't share the love I generally have for Java. Scripting and non-compiled languages are easy and by their very definition light to work with.
But I've learned A LOT these passed 6 moths and it's been tough, but the experience I've gained is incredibly valuable. And where I'm at now, is where it's become really fun again. Even though the error message consists of "EJBException in container" and no reference what so ever to what's triggering it I've learned to identify what's causing it anyway.
I started out with RequestScoped, moved to SessionScoped master bean of bad practise (just to get it to work) and a turn over with ViewScoped WTF before getting back to RequestScoped again. I still have a bunch of franken-code, but I've gained a much deeper understanding of what I'm doing and how to design a system.
It's been rough, but I wouldn't want to trade this experience for anything in the world.
I walk stronger out from this.