The @Transactional annotation is already part of JavaEE, so there is no need to have custom one.
The idea is to reuse code from JTA implementation. The one which already supports 1.2 is Jbosstm(Narayana). I've made an attempt to incorporate it into deltaspike. Please see attached changes and testcase.
Few notes on it:
- The producers for openwebbeans and weld are different, I've made openwebbeans ones
- There is 2 system preferences which needs to be set to make narayana create system folders under proper location (see surefire plugin config)
- Latest hibernate can autodetect JTA platform
- EntityManager created outside of JTA transaction can't join it automatically, thats why there is proxy which join EM into (http://stackoverflow.com/questions/11119182/skipping-jta-sync-registration-due-to-auto-join-checking/11124021#11124021)
- Code based on this examples: https://github.com/jbosstm/quickstart/tree/master/ArjunaJTA/standalone-jta-1_2
- I did not make attempt to create generic datasource registration function, this maybe subject for other issue