I've created a new transactions component at http://github.com/wolfc/jboss-ejb3-tx2.
It is meant to replace the old jboss-ejb3-transactions component which is purely based on AOP with an implementation based on spec API (and our own additions). So I've defined three modules:
- spi: for additions needed on current spi components
- impl: a complete implementation dependening only on spec API and SPI
- aop: integration point of impl with AOP, so we can use it in the current infrastructure (sort of deprecated by design)
>From what I see in our current implementation it's probably too large a scope, because it would also mean replacing jboss-transaction-aspects which is also AOP specific. So I'm going to limit scope to resolve https://jira.jboss.org/browse/EJBTHREE-2120 and thus go for a runtime containing both jboss-ejb3-transactions and jboss-ejb3-tx2 for the time being.
The old ejb3-transactions code has been copied over to tx2/antediluvian. I'm not yet sure if that place should become the authoritative place. In essence tx2-aop should provide the same function. Keep this in mind when changing code in ejb3-transactions.
ejb3-context should also be modified, so that its spi becomes a proper module. Context-base doesn't expose any extra dependencies, so it's not a high priority. Care should be taken to not use the wrong classes in the wrong modules though.