On Feb 8, 2013, at 4:22 PM, Dan Berindei <[email protected]> wrote:
> Galder, the CacheManager.getUserTransaction() javadoc says the method should > return "a" UserTransaction. It doesn't mandate any connection with any active > TM, in fact based on this issue I think Ehcache will always return their own > UserTransaction object: https://github.com/jsr107/jsr107spec/issues/28 > > The Javadoc of the methods in UserTransaction and in TransactionManager in > the standard are identical. So if they don't behave the same, that's a bug in > the TM. > > Case in point, I just looked at JBossTS version 4.16.3 and > UserTransactionImple doesn't do anything except extend BaseTransaction. > TransactionManagerImple also extends BaseTransaction and adds a few extra > methods. BaseTransaction doesn't have any instance state (it's all statics > and thread locals), so UserTransactionImple and TransactionManagerImple are > identical except for the extra methods in TransactionManagerImple. ^ You're right, I hadn't noticed TransactionManagerImple extended BaseTransaction too. Cheers, > > Cheers > Dan > > > > On Fri, Feb 8, 2013 at 11:18 AM, Galder Zamarreño <[email protected]> wrote: > I'm no transactions expert, but I did consider that and I highly doubt it's > that simple. > > Even if it might probably just work, you'll never be able to guarantee that > such UserTransaction behaves just like You-Fav-JTATM-UserTransaction without > throrough testing. > > Go to your IDE (dunno where JBoss TS source code is online…) and open up: > - com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple > - com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction > > Cheers, > > On Feb 7, 2013, at 2:17 PM, Dan Berindei <[email protected]> wrote: > > > Do we really need to expose the TransactionManager's UserTransaction > > implementation? > > > > Looking at the interface, it seems like a subset of TransactionManager, so > > couldn't we return a custom UserTransaction that just delegates to the > > TransactionManager? > > > > > > On Thu, Feb 7, 2013 at 2:06 PM, Manik Surtani <[email protected]> wrote: > > Ok. Then a separate Lookup is what we'd need, I guess. Not pretty, but oh > > well. > > > > On 7 Feb 2013, at 11:41, Galder Zamarreño <[email protected]> wrote: > > > > > > > > On Feb 7, 2013, at 12:31 PM, Manik Surtani <[email protected]> wrote: > > > > > >> > > >> On 7 Feb 2013, at 11:23, Galder Zamarreño <[email protected]> wrote: > > >> > > >>> Hi all, > > >>> > > >>> I'm back with a more food for thought wrt JSR-107 impl. Our > > >>> CacheManager adapter needs to implement: > > >>> > > >>> UserTransaction getUserTransaction(); > > >>> > > >>> The problem there is that there's no standard way of getting a > > >>> UserTransaction given a JTA TransactionManager. > > >>> > > >>> It really is down to each TransactionManager provider to give a > > >>> UserTransaction instance (whether JNDI, static…etc). > > >>> > > >>> So, we need a way to lookup a UserTransaction. > > >>> > > >>> One option is to add a getUserTransaction to TransactionManagerLookup, > > >>> but that will break existing clients. > > >> > > >> You mean it would break existing TML implementations? > > > > > > ^ Yeah, potentially yeah. > > > > > >> Do we know of any custom TML implementations though? > > > > > > Yes: > > > - > > > https://github.com/hibernate/hibernate-orm/blob/master/hibernate-infinispan/src/main/java/org/hibernate/cache/infinispan/tm/HibernateTransactionManagerLookup.java > > > - > > > https://github.com/jbossas/jboss-as/blob/master/clustering/infinispan/src/main/java/org/jboss/as/clustering/infinispan/TransactionManagerProvider.java > > > > > >> > > >>> > > >>> Alternatively, define a > > >>> org.infinispan.transaction.lookup.UserTransactionLookup interface which > > >>> is configurable. We'd then need to implement for existing TML classes. > > >>> > > >>> If anyone has any other ideas, let us know. > > >>> > > >>> Cheers, > > >>> -- > > >>> Galder Zamarreño > > >>> [email protected] > > >>> twitter.com/galderz > > >>> > > >>> Project Lead, Escalante > > >>> http://escalante.io > > >>> > > >>> Engineer, Infinispan > > >>> http://infinispan.org > > >>> > > >>> > > >>> _______________________________________________ > > >>> infinispan-dev mailing list > > >>> [email protected] > > >>> https://lists.jboss.org/mailman/listinfo/infinispan-dev > > >> > > >> -- > > >> Manik Surtani > > >> [email protected] > > >> twitter.com/maniksurtani > > >> > > >> Platform Architect, JBoss Data Grid > > >> http://red.ht/data-grid > > >> > > >> > > >> _______________________________________________ > > >> infinispan-dev mailing list > > >> [email protected] > > >> https://lists.jboss.org/mailman/listinfo/infinispan-dev > > > > > > > > > -- > > > Galder Zamarreño > > > [email protected] > > > twitter.com/galderz > > > > > > Project Lead, Escalante > > > http://escalante.io > > > > > > Engineer, Infinispan > > > http://infinispan.org > > > > > > > > > _______________________________________________ > > > infinispan-dev mailing list > > > [email protected] > > > https://lists.jboss.org/mailman/listinfo/infinispan-dev > > > > -- > > Manik Surtani > > [email protected] > > twitter.com/maniksurtani > > > > Platform Architect, JBoss Data Grid > > http://red.ht/data-grid > > > > > > _______________________________________________ > > infinispan-dev mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/infinispan-dev > > > > _______________________________________________ > > infinispan-dev mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/infinispan-dev > > > -- > Galder Zamarreño > [email protected] > twitter.com/galderz > > Project Lead, Escalante > http://escalante.io > > Engineer, Infinispan > http://infinispan.org > > > _______________________________________________ > infinispan-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/infinispan-dev > > _______________________________________________ > infinispan-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/infinispan-dev -- Galder Zamarreño [email protected] twitter.com/galderz Project Lead, Escalante http://escalante.io Engineer, Infinispan http://infinispan.org _______________________________________________ infinispan-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/infinispan-dev
