TransactionSynchronizationRegistryImple is present in the 4.2.3 branch (i.e. JTA 1.0.1b impl) but is really a feature for the JTA 1.1 i.e. TS 4.3+. Its presence in the app server's JNDI is causing problems as the 4.2.3 branch has a non-serializable prototype which does not play nice with JNDI, unlike the finished version in trunk. However, it should not be in JNDI in the first place.