On Tue, Jun 9, 2009 at 1:08 PM, Jonas Bonér <jbo...@gmail.com> wrote:

>
> Now I have deleted the lib dir with all jars and fixed the POM.


Thanks!


>
>
> 2009/6/9 Derek Chen-Becker <dchenbec...@gmail.com>:
> > In my email above I have the link to the Maven artifacts for Atomikos:
> >
> > http://mvnrepository.com/artifact/com.atomikos
> >
> > I think that the dependency you want is:
> >
> > <dependency>
> >     <groupId>com.atomikos</groupId>
> >     <artifactId>transactions-jta</artifactId>
> >     <version>3.2.3</version>
> > </dependency>
> >
> > Derek
> >
> > On Tue, Jun 9, 2009 at 12:54 PM, Meredith Gregory <
> lgreg.mered...@gmail.com>
> > wrote:
> >>
> >> Jonas,
> >>
> >> Awesome! i look forward to digging into this stuff!
> >>
> >> Best wishes,
> >>
> >> --greg
> >>
> >> On Tue, Jun 9, 2009 at 6:18 AM, Jonas Bonér <jbo...@gmail.com> wrote:
> >>>
> >>> Hey guys.
> >>>
> >>> I have hacked together an early draft of the JTA transaction stuff.
> >>>
> >>> I have wrapped it up in a monad. Here  are some examples of usage:
> >>>
> >>>  for {
> >>>   ctx <- TransactionContext.Required
> >>>   entity <- updatedEntities
> >>>   if !ctx.isRollbackOnly
> >>>  } {
> >>>   // transactional stuff
> >>>   ctx.getEntityManager.merge(entity)
> >>>  }
> >>>
> >>> val users = for {
> >>>   ctx <- TransactionContext.Required
> >>>   name <- userNames
> >>>  } yield {
> >>>   // transactional stuff
> >>>   val query = ctx.getEntityManager.createNamedQuery("findUserByName")
> >>>   query.setParameter("userName", name)
> >>>   query.getSingleResult
> >>>  }
> >>>
> >>> If you don't like the monadic approach you can just use the high-order
> >>> functions:
> >>>
> >>> TransactionContext.withTxRequired {
> >>>    ... // REQUIRED semantics
> >>>
> >>>  TransactionContext.withTxRequiresNew {
> >>>    ... // REQUIRES_NEW semantics
> >>>  }
> >>> }
> >>>
> >>> I have implemented the same semantics as used in the EJB spec.
> >>> Required, RequiresNew, Mandatory, Supports, Never. All these are
> >>> monadic objects in the TransactionContext object.
> >>> I don't have a webapp to try this out, so I would be happy to get all
> >>> kinds of feedback, but API wise and bug reports or fixes.
> >>>
> >>> This API is hooked into Derek's Scala-JPA stuff. I had my own impl of
> >>> this but replaced it with Derek's work.
> >>>
> >>> Derek,
> >>> please go through the integration to see if I have done it correctly,
> >>> and where things code be improved.
> >>>
> >>> All committers,
> >>> feel free to hack and change this code anyway you want.
> >>>
> >>> The code is in a branch (wip-jta-jonas), you can find it here:
> >>>
> >>>
> http://github.com/dpp/liftweb/tree/3783b9e2200cc57dd72baa1bd8cabdb1365ee923/lift-jta
> >>>
> >>> Check the ScalaDoc (or the source) for the documentation on usage,
> >>> semantics etc.
> >>> Also see the README for configuration in persistence.xml etc.
> >>>
> >>> Currently it is hard-coded to use the Atomikos Transaction library and
> >>> Hibernate JPA, that would have to be configurable + some other options
> >>> as well. See the TODOs in the code.
> >>>
> >>> As I said, this needs feedback and testing. Thanks.
> >>>
> >>> --
> >>> Jonas Bonér
> >>>
> >>> twitter: @jboner
> >>> blog:    http://jonasboner.com
> >>> work:   http://crisp.se
> >>> work:   http://scalablesolutions.se
> >>> code:   http://github.com/jboner
> >>>
> >>>
> >>
> >>
> >>
> >> --
> >> L.G. Meredith
> >> Managing Partner
> >> Biosimilarity LLC
> >> 1219 NW 83rd St
> >> Seattle, WA 98117
> >>
> >> +1 206.650.3740
> >>
> >> http://biosimilarity.blogspot.com
> >>
> >>
> >
> >
> > >
> >
>
>
>
> --
> Jonas Bonér
>
> twitter: @jboner
> blog:    http://jonasboner.com
> work:   http://crisp.se
> work:   http://scalablesolutions.se
> code:   http://github.com/jboner
>
> >
>


-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to