Why is it that questions can take a while to research these days — particularly, why is my XA example taking so long to implement? I was thinking about this the other day, and I think there are a couple of different aspects to this.
First, there are just several technologies and products that are new to me: Spring, JBoss, ActiveMQ, JMS, XA, JCA, etc.
But the complicating factor is that when things don’t work, it could be a result of something I don’t yet know about one of these new technologies, or it could be due to the way one technology interacts with another. So if (for random example) my XA transactions aren’t working like I expect, it may be that I’m missing an XA concept that I need to understand to make it work… or it could be that it’s something about how XA works with JBoss, or with JBoss and Spring, or with JBoss and Spring and JNDI; or something about how XA works with ActiveMQ. Or maybe the problem is in my use of AOP, or particularly AOP as it relates to Spring; or it could be a Java classloader / application server interaction issue, like duplicate classes being deployed in my .war file!
I thought I’d summarize the wanderings idea with a picture :)