Pardon - this post is not very JBoss-specific but it may be food for thought for the JBoss JCA implementor(s).
Does anyone else feel that JCA 1.5's transaction inflow is missing a state that allows the Resoure Adapter provider to decide whether or *NOT* the operation is performed within a transaction? If you look at Table 2 in section 12.5, the state which allows 'source managed' (RA) transactions also requires the container to start a new transaction when no source managed txn is provided. Wouldn't you want a mode to allow the Resource Adapater to decide when there was and when there wasn't a txn? This would make it very general purpose, middleware-agnostic way to 'speak' to the app server.
I'm sure there's a work-around (explicit suspend in the MDB?) but why require that? Perhaps I'm missing something or the JCA was driven by JMS requirements which didn't include this feature.