The JCA spec covers importing a transaction (via inflow), and it also covers allowing the container to manage and control the transaction.
But I'm having a hard time finding anything in the spec that covers letting the container manage a transaction, but allowing the EIS to *control* it (e.g. start it, perform some work inside the txn, and then commit the txn). Is this missing from the spec, or am I just blind?
If you mean messaging inflow, you provide an XAResource to the MessageEndpoint.
You can then choose to fail the commit in prepare() or commit(onePhase).
If it is more simple than that, its not an issue for JCA.
You would instead just act as EJB client, i.e. use the UserTransaction.