Похоже, вы еще не полностью поняли различие между менеджером транзакций и менеджером ресурсов. Менеджеры транзакций, такие как JBossTS, управляют менеджерами ресурсов, такими как Oracle, MSSQL и т. Д., Через XAResources, предоставляемые драйверами RM.
Вы не внедряете менеджер транзакций - он уже реализован. Вы внедряете новый менеджер ресурсов и используете существующий менеджер транзакций для его управления. Прочитайте спецификацию XA, затем внедрите XAResource и подключите свой ресурс к менеджеру транзакций. Пока ваш impl соответствует спецификации, менеджер транзакций будет использовать его точно так же, как и с реализациями, предоставляемыми драйверами базы данных или очередями сообщений.
Обратите внимание, что выполнение операций ввода-вывода для внешних (то есть нетранзакционных) систем в области транзакций ACID в принципе невозможно. Лучшее, на что вы можете надеяться, это некоторая форма модели, основанной на компенсации, или поведение 1PC с последней оптимизацией фиксации ресурса.