[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread David Pollak
Sweet looking stuff!

On Tue, Jun 9, 2009 at 6:18 AM, Jonas Bonér  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
>
> >
>


-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

2009/6/9 David Pollak :
> Sweet looking stuff!

Thanks.

>
> On Tue, Jun 9, 2009 at 6:18 AM, Jonas Bonér  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
>>
>>
>
>
>
> --
> 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
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Viktor Klang
Starkt jobbat Jonas!

I'll have a look at it asap :)

On Tue, Jun 9, 2009 at 4:27 PM, Jonas Bonér  wrote:

>
> 2009/6/9 David Pollak :
> > Sweet looking stuff!
>
> Thanks.
>
> >
> > On Tue, Jun 9, 2009 at 6:18 AM, Jonas Bonér  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
> >>
> >>
> >
> >
> >
> > --
> > 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
> >
> > >
> >
>
>
>
> --
> Jonas Bonér
>
> twitter: @jboner
> blog:http://jonasboner.com
> work:   http://crisp.se
> work:   http://scalablesolutions.se
> code:   http://github.com/jboner
>
> >
>


-- 
Viktor Klang
Rockstar Developer

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Timothy Perrett


Wow, this is very nice! Kudos Jonas!

Cheers, Tim

On 09/06/2009 14:18, "Jonas Bonér"  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/li
> ft-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.



--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Derek Chen-Becker
Awesome! I'll take a look at the code. If you're basing this on ScalaJPA,
would it be preferable to add the functionality there, or is there anything
Lift-specific?

Derek


On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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
>
> >
>

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Derek Chen-Becker
OK, one quick comment before I dive in: we generally want to depend on Maven
to grab dependencies. Right now you have a lib folder checked into git that
appears to hold the JTA libs and Atomikos. If that's the Sun JTA libs then
we can't distribute them. We generally use the geronimo JTA API, so you
could instead add dependencies to your pom.xml from the following:

http://mvnrepository.com/artifact/com.atomikos


org.apache.geronimo.specs
geronimo-jta_1.1_spec
1.1.1


Let me know if you have any problems with that. Now, on to the code!

Derek

On Tue, Jun 9, 2009 at 9:44 AM, Derek Chen-Becker wrote:

> Awesome! I'll take a look at the code. If you're basing this on ScalaJPA,
> would it be preferable to add the functionality there, or is there anything
> Lift-specific?
>
> Derek
>
>
>
> On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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
>>
>> >>
>>
>

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

I added the lib folder only since I have not been able to find the
atomikos and deps in any maven repo.
Now the user can install them in their private repo.
If they exist in a public repo then I will remove the lib folder.
Will switch to the apache libs.
Thanks, Jonas.

2009/6/9 Derek Chen-Becker :
> OK, one quick comment before I dive in: we generally want to depend on Maven
> to grab dependencies. Right now you have a lib folder checked into git that
> appears to hold the JTA libs and Atomikos. If that's the Sun JTA libs then
> we can't distribute them. We generally use the geronimo JTA API, so you
> could instead add dependencies to your pom.xml from the following:
>
> http://mvnrepository.com/artifact/com.atomikos
>
> 
> org.apache.geronimo.specs
> geronimo-jta_1.1_spec
> 1.1.1
> 
>
> Let me know if you have any problems with that. Now, on to the code!
>
> Derek
>
> On Tue, Jun 9, 2009 at 9:44 AM, Derek Chen-Becker 
> wrote:
>>
>> Awesome! I'll take a look at the code. If you're basing this on ScalaJPA,
>> would it be preferable to add the functionality there, or is there anything
>> Lift-specific?
>>
>> Derek
>>
>>
>> On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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
>>>
>>>
>>
>
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Timothy Perrett


Isnt LiftLogger extensible? Perhaps there would be some way to integrate it
with LiftLogger so it was an optional logger just like Log4J, SL4J etc

Disclaimer: I know nothing about Configgy!

Cheers, Tim

On 09/06/2009 17:34, "Jonas Bonér"  wrote:

> 
> I am only depending on Lift through the Lift logger (switched from
> Configgy, which I actually like better).
> I am only depending on ScalaJPA through one single 'with ScalaEntityManager'.
> I could move it.
> What do the rest of you guys think?
> 
> 2009/6/9 Derek Chen-Becker :
>> Awesome! I'll take a look at the code. If you're basing this on ScalaJPA,
>> would it be preferable to add the functionality there, or is there anything
>> Lift-specific?
>> 
>> Derek
>> 
>> 
>> On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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
>>> 
>>> 
>> 
>> 
>>> 
>> 
> 
> 



--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

I am only depending on Lift through the Lift logger (switched from
Configgy, which I actually like better).
I am only depending on ScalaJPA through one single 'with ScalaEntityManager'.
I could move it.
What do the rest of you guys think?

2009/6/9 Derek Chen-Becker :
> Awesome! I'll take a look at the code. If you're basing this on ScalaJPA,
> would it be preferable to add the functionality there, or is there anything
> Lift-specific?
>
> Derek
>
>
> On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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
>>
>>
>
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread David Pollak
Jonas,
We always use Maven to load dependencies.  We never use GPL dependencies.
 If you have a question about the license of a dependency and its use in
Lift, please ping me privately.

What does Configgy have that Lift's Props and Logger doesn't?  I'm all for
enhancing Lift to be as good as Configgy (and Robey didn't have the
bandwidth to integrate Configgy into Lift, thus our own config management).

Thanks,

David

On Tue, Jun 9, 2009 at 9:34 AM, Jonas Bonér  wrote:

>
> I am only depending on Lift through the Lift logger (switched from
> Configgy, which I actually like better).
> I am only depending on ScalaJPA through one single 'with
> ScalaEntityManager'.
> I could move it.
> What do the rest of you guys think?
>
> 2009/6/9 Derek Chen-Becker :
> > Awesome! I'll take a look at the code. If you're basing this on ScalaJPA,
> > would it be preferable to add the functionality there, or is there
> anything
> > Lift-specific?
> >
> > Derek
> >
> >
> > On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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
> >>
> >>
> >
> >
> > >
> >
>
>
>
> --
> 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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

2009/6/9 David Pollak :
> Jonas,
> We always use Maven to load dependencies.  We never use GPL dependencies.
>  If you have a question about the license of a dependency and its use in
> Lift, please ping me privately.

I am using Maven. But as I said I could not find the Atomikos in any
public library, putting them in lib will let the user easily install
them in their local repo.
Do you know if they are in any public repo?
Sorry about the license issues, didn't think about that.
I can remove them all in any case, even though that would make it
harder to use.

> What does Configgy have that Lift's Props and Logger doesn't?  I'm all for
> enhancing Lift to be as good as Configgy (and Robey didn't have the
> bandwidth to integrate Configgy into Lift, thus our own config management).

First I like the printf-style logging API, similar to slf4j. Nice to
use plus better performance.

Second I really like Configgys configuration API, plus that it is
integrated with the logging.
But this was just a comment from my side, I have no problem whatsoever
to use Lift logger.

/Jonas

> Thanks,
> David
> On Tue, Jun 9, 2009 at 9:34 AM, Jonas Bonér  wrote:
>>
>> I am only depending on Lift through the Lift logger (switched from
>> Configgy, which I actually like better).
>> I am only depending on ScalaJPA through one single 'with
>> ScalaEntityManager'.
>> I could move it.
>> What do the rest of you guys think?
>>
>> 2009/6/9 Derek Chen-Becker :
>> > Awesome! I'll take a look at the code. If you're basing this on
>> > ScalaJPA,
>> > would it be preferable to add the functionality there, or is there
>> > anything
>> > Lift-specific?
>> >
>> > Derek
>> >
>> >
>> > On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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
>> >>
>> >>
>> >
>> >
>> > >
>> >
>>
>>
>>
>> --
>> 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
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post

[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread David Pollak
On Tue, Jun 9, 2009 at 10:13 AM, Jonas Bonér  wrote:

>
> 2009/6/9 David Pollak :
> > Jonas,
> > We always use Maven to load dependencies.  We never use GPL dependencies.
> >  If you have a question about the license of a dependency and its use in
> > Lift, please ping me privately.
>
> I am using Maven. But as I said I could not find the Atomikos in any
> public library, putting them in lib will let the user easily install
> them in their local repo.


I understand why you did it and that you had the goal of making it easier
for developers.


>
> Do you know if they are in any public repo?


I don't... but if they are not in a public repo, we have two choices:
hosting the JAR files on scala-tools.org (as long as the license allows us
to do that) or finding an alternative that is hosted in a public repo.  I'm
dealing with similar issues right now with ZooKeeper.


>
> Sorry about the license issues, didn't think about that.
> I can remove them all in any case, even though that would make it
> harder to use.
>
> > What does Configgy have that Lift's Props and Logger doesn't?  I'm all
> for
> > enhancing Lift to be as good as Configgy (and Robey didn't have the
> > bandwidth to integrate Configgy into Lift, thus our own config
> management).
>
> First I like the printf-style logging API, similar to slf4j. Nice to
> use plus better performance.


We can add that to Lift's logger (which can sit on top of slf4j)

Also, note that all of Lift's logger parameters are call-by-name so there's
no evaluation unless the log level is met.


>
>
> Second I really like Configgys configuration API,


Can you tell me what you specifically like about it?

Thanks,

David


> plus that it is
> integrated with the logging.
> But this was just a comment from my side, I have no problem whatsoever
> to use Lift logger.
>
> /Jonas
>
> > Thanks,
> > David
> > On Tue, Jun 9, 2009 at 9:34 AM, Jonas Bonér  wrote:
> >>
> >> I am only depending on Lift through the Lift logger (switched from
> >> Configgy, which I actually like better).
> >> I am only depending on ScalaJPA through one single 'with
> >> ScalaEntityManager'.
> >> I could move it.
> >> What do the rest of you guys think?
> >>
> >> 2009/6/9 Derek Chen-Becker :
> >> > Awesome! I'll take a look at the code. If you're basing this on
> >> > ScalaJPA,
> >> > would it be preferable to add the functionality there, or is there
> >> > anything
> >> > Lift-specific?
> >> >
> >> > Derek
> >> >
> >> >
> >> > On Tue, Jun 9, 2009 at 7:18 AM, Jonas Bonér  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.
> >> >>
> >> >> --
> >> >>

[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

>>
>> First I like the printf-style logging API, similar to slf4j. Nice to
>> use plus better performance.
>
> We can add that to Lift's logger (which can sit on top of slf4j)

That would be great.

> Also, note that all of Lift's logger parameters are call-by-name so there's
> no evaluation unless the log level is met.
>

Ok, I didn't know that. Great. That's the way to do it.

-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

Re configgy.

I think it is a great balance between properties and xml, like pragmatic xml.
Simple as properties but with nesting, hierarchies, type conversions,
good override and defaults system (inheritance).
It also has notification of changes and a JMX API for management
(which I have not used yet).

/Jonas

2009/6/9 Jonas Bonér :
>>>
>>> First I like the printf-style logging API, similar to slf4j. Nice to
>>> use plus better performance.
>>
>> We can add that to Lift's logger (which can sit on top of slf4j)
>
> That would be great.
>
>> Also, note that all of Lift's logger parameters are call-by-name so there's
>> no evaluation unless the log level is met.
>>
>
> Ok, I didn't know that. Great. That's the way to do it.
>
> --
> Jonas Bonér
>
> twitter: @jboner
> blog:    http://jonasboner.com
> work:   http://crisp.se
> work:   http://scalablesolutions.se
> code:   http://github.com/jboner
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Meredith Gregory
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  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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Derek Chen-Becker
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:


com.atomikos
transactions-jta
3.2.3


Derek

On Tue, Jun 9, 2009 at 12:54 PM, Meredith Gregory
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  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
>
>
> >
>

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

Thanks Derek. I missed that. I will fix the pom.xml.

2009/6/9 Derek Chen-Becker :
> 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:
>
> 
> com.atomikos
> transactions-jta
> 3.2.3
> 
>
> Derek
>
> On Tue, Jun 9, 2009 at 12:54 PM, Meredith Gregory 
> 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  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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

Thanks Greg. And thanks for the suggestion to see transactions as monadic.
All feedback is more than welcome.
/Jonas

2009/6/9 Meredith Gregory :
> 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  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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Derek Chen-Becker
Jonas, the code looks great! I don't see any issues with how ScalaJPA is
used. It's nice to see that this fits what you're doing well and I really
like how this lets one use transactions without having to go with a
full-blown JEE container. One thing that you might want to put into the
README is a reminder that if you're going to be using JNDI along with an
EntityManager then JTA is not only required, but should be handled
automatically by the container. The only valid operation on a
Container-managed EM (as pointed out by mrxtravis yesterday when he found a
bug in ScalaJPA) is to set the TX as rollback-only.

Derek

On Tue, Jun 9, 2009 at 1:10 PM, Derek Chen-Becker wrote:

> 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:
>
> 
> com.atomikos
> transactions-jta
> 3.2.3
> 
>
> 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  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
>>
>>
>> >>
>>
>

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

Thanks Derek. Thanks for taking time to do a code review.
I'll add that to the README.
/Jonas

2009/6/9 Derek Chen-Becker :
> Jonas, the code looks great! I don't see any issues with how ScalaJPA is
> used. It's nice to see that this fits what you're doing well and I really
> like how this lets one use transactions without having to go with a
> full-blown JEE container. One thing that you might want to put into the
> README is a reminder that if you're going to be using JNDI along with an
> EntityManager then JTA is not only required, but should be handled
> automatically by the container. The only valid operation on a
> Container-managed EM (as pointed out by mrxtravis yesterday when he found a
> bug in ScalaJPA) is to set the TX as rollback-only.
>
> Derek
>
> On Tue, Jun 9, 2009 at 1:10 PM, Derek Chen-Becker 
> wrote:
>>
>> 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:
>>
>> 
>> com.atomikos
>> transactions-jta
>> 3.2.3
>> 
>>
>> Derek
>>
>> On Tue, Jun 9, 2009 at 12:54 PM, Meredith Gregory
>>  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  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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread Jonas Bonér

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

2009/6/9 Derek Chen-Becker :
> 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:
>
> 
> com.atomikos
> transactions-jta
> 3.2.3
> 
>
> Derek
>
> On Tue, Jun 9, 2009 at 12:54 PM, Meredith Gregory 
> 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  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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-09 Thread David Pollak
On Tue, Jun 9, 2009 at 1:08 PM, Jonas Bonér  wrote:

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


Thanks!


>
>
> 2009/6/9 Derek Chen-Becker :
> > 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:
> >
> > 
> > com.atomikos
> > transactions-jta
> > 3.2.3
> > 
> >
> > 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  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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-10 Thread Meredith Gregory
Lifted,

i gotta say this thread of activity is just so cool. It's what i always
dreamed open source would be like. The community essentially gets to access
and think with each others' best minds and act with each others' best
talents to arrive on a path to a better concrete realization of feature,
function and design. We all know, individually and collectively, just how
hard it is to make excellent software and know that we're more likely to
achieve that aim working together. i can't help but notice that there is no
explicit representation of the profit motive here. Each of us might
individually be in contact with some aspect of profit motive, but it does
not have an explicit representation in this little snippet of process. That
gives this entrepreneur pause for thought.

Best wishes,

--greg

On Tue, Jun 9, 2009 at 3:46 PM, David Pollak
wrote:

>
>
> On Tue, Jun 9, 2009 at 1:08 PM, Jonas Bonér  wrote:
>
>>
>> Now I have deleted the lib dir with all jars and fixed the POM.
>
>
> Thanks!
>
>
>>
>>
>> 2009/6/9 Derek Chen-Becker :
>> > 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:
>> >
>> > 
>> > com.atomikos
>> > transactions-jta
>> > 3.2.3
>> > 
>> >
>> > 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  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
>
> >
>


-- 
L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

http://bios

[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-10 Thread James Strachan

2009/6/9 Jonas Bonér :
>
> 2009/6/9 David Pollak :
>> Jonas,
>> We always use Maven to load dependencies.  We never use GPL dependencies.
>>  If you have a question about the license of a dependency and its use in
>> Lift, please ping me privately.
>
> I am using Maven. But as I said I could not find the Atomikos in any
> public library, putting them in lib will let the user easily install
> them in their local repo.
> Do you know if they are in any public repo?

If its any help I added them here a while back for an integration test
in ActiveMQ
http://repo.fusesource.com/maven2-all/com/atomikos/

the repo is: http://repo.fusesource.com/maven2-all/

you might wanna put more recent jars up on some public repo though.


-- 
James
---
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-10 Thread Jonas Bonér

Thanks James.
But I have already found them in a public repo.
/Jonas

2009/6/10 James Strachan :
>
> 2009/6/9 Jonas Bonér :
>>
>> 2009/6/9 David Pollak :
>>> Jonas,
>>> We always use Maven to load dependencies.  We never use GPL dependencies.
>>>  If you have a question about the license of a dependency and its use in
>>> Lift, please ping me privately.
>>
>> I am using Maven. But as I said I could not find the Atomikos in any
>> public library, putting them in lib will let the user easily install
>> them in their local repo.
>> Do you know if they are in any public repo?
>
> If its any help I added them here a while back for an integration test
> in ActiveMQ
> http://repo.fusesource.com/maven2-all/com/atomikos/
>
> the repo is: http://repo.fusesource.com/maven2-all/
>
> you might wanna put more recent jars up on some public repo though.
>
>
> --
> James
> ---
> http://macstrac.blogspot.com/
>
> Open Source Integration
> http://fusesource.com/
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-06-30 Thread Timothy Perrett

Jonas,

Did you roll this into master? What's its status?

Cheers, Tim

On Jun 10, 4:46 pm, James Strachan  wrote:
> 2009/6/9 Jonas Bonér :
>
>
>
> > 2009/6/9 David Pollak :
> >> Jonas,
> >> We always use Maven to load dependencies.  We never use GPL dependencies.
> >>  If you have a question about the license of a dependency and its use in
> >> Lift, please ping me privately.
>
> > I am using Maven. But as I said I could not find the Atomikos in any
> > public library, putting them in lib will let the user easily install
> > them in their local repo.
> > Do you know if they are in any public repo?
>
> If its any help I added them here a while back for an integration test
> in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
>
> the repo is:http://repo.fusesource.com/maven2-all/
>
> you might wanna put more recent jars up on some public repo though.
>
> --
> James
> ---http://macstrac.blogspot.com/
>
> Open Source Integrationhttp://fusesource.com/
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-07 Thread Jonas Bonér

No I haven't. Should I? Is everyone happy with it?
Have anyone tried it? Is anyone using it?

2009/6/30 Timothy Perrett :
>
> Jonas,
>
> Did you roll this into master? What's its status?
>
> Cheers, Tim
>
> On Jun 10, 4:46 pm, James Strachan  wrote:
>> 2009/6/9 Jonas Bonér :
>>
>>
>>
>> > 2009/6/9 David Pollak :
>> >> Jonas,
>> >> We always use Maven to load dependencies.  We never use GPL dependencies.
>> >>  If you have a question about the license of a dependency and its use in
>> >> Lift, please ping me privately.
>>
>> > I am using Maven. But as I said I could not find the Atomikos in any
>> > public library, putting them in lib will let the user easily install
>> > them in their local repo.
>> > Do you know if they are in any public repo?
>>
>> If its any help I added them here a while back for an integration test
>> in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
>>
>> the repo is:http://repo.fusesource.com/maven2-all/
>>
>> you might wanna put more recent jars up on some public repo though.
>>
>> --
>> James
>> ---http://macstrac.blogspot.com/
>>
>> Open Source Integrationhttp://fusesource.com/
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-07 Thread Meredith Gregory
Jonas,

i'm going to begin playing with it after i've finished the conversion of the
DSL stuff to scala-query. The JTA monad should just fit with scala-query.

Best wishes,

--greg

On Tue, Jul 7, 2009 at 10:18 AM, Jonas Bonér  wrote:

>
> No I haven't. Should I? Is everyone happy with it?
> Have anyone tried it? Is anyone using it?
>
> 2009/6/30 Timothy Perrett :
> >
> > Jonas,
> >
> > Did you roll this into master? What's its status?
> >
> > Cheers, Tim
> >
> > On Jun 10, 4:46 pm, James Strachan  wrote:
> >> 2009/6/9 Jonas Bonér :
> >>
> >>
> >>
> >> > 2009/6/9 David Pollak :
> >> >> Jonas,
> >> >> We always use Maven to load dependencies.  We never use GPL
> dependencies.
> >> >>  If you have a question about the license of a dependency and its use
> in
> >> >> Lift, please ping me privately.
> >>
> >> > I am using Maven. But as I said I could not find the Atomikos in any
> >> > public library, putting them in lib will let the user easily install
> >> > them in their local repo.
> >> > Do you know if they are in any public repo?
> >>
> >> If its any help I added them here a while back for an integration test
> >> in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
> >>
> >> the repo is:http://repo.fusesource.com/maven2-all/
> >>
> >> you might wanna put more recent jars up on some public repo though.
> >>
> >> --
> >> James
> >> ---http://macstrac.blogspot.com/
> >>
> >> Open Source Integrationhttp://fusesource.com/
> > >
> >
>
>
>
> --
> 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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-07 Thread Timothy Perrett


Hey Jonas,

I have no real use case to test it out - I was just interested in its status
as conceptually it was very very clever and wondered where you were too with
it. I think Greg or Derek are most likely to be able to give you valuable
feedback as I believe they are using JTA already.

Cheers, Tim

On 07/07/2009 18:18, "Jonas Bonér"  wrote:

> 
> No I haven't. Should I? Is everyone happy with it?
> Have anyone tried it? Is anyone using it?
> 
> 2009/6/30 Timothy Perrett :
>> 
>> Jonas,
>> 
>> Did you roll this into master? What's its status?
>> 
>> Cheers, Tim
>> 
>> On Jun 10, 4:46 pm, James Strachan  wrote:
>>> 2009/6/9 Jonas Bonér :
>>> 
>>> 
>>> 
 2009/6/9 David Pollak :
> Jonas,
> We always use Maven to load dependencies.  We never use GPL dependencies.
>  If you have a question about the license of a dependency and its use in
> Lift, please ping me privately.
>>> 
 I am using Maven. But as I said I could not find the Atomikos in any
 public library, putting them in lib will let the user easily install
 them in their local repo.
 Do you know if they are in any public repo?
>>> 
>>> If its any help I added them here a while back for an integration test
>>> in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
>>> 
>>> the repo is:http://repo.fusesource.com/maven2-all/
>>> 
>>> you might wanna put more recent jars up on some public repo though.
>>> 
>>> --
>>> James
>>> ---http://macstrac.blogspot.com/
>>> 
>>> Open Source Integrationhttp://fusesource.com/
>>> 
>> 
> 
> 



--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-07 Thread Jonas Bonér

Thanks Greg. I would love to get your feedback on it.

2009/7/7 Meredith Gregory :
> Jonas,
>
> i'm going to begin playing with it after i've finished the conversion of the
> DSL stuff to scala-query. The JTA monad should just fit with scala-query.
>
> Best wishes,
>
> --greg
>
> On Tue, Jul 7, 2009 at 10:18 AM, Jonas Bonér  wrote:
>>
>> No I haven't. Should I? Is everyone happy with it?
>> Have anyone tried it? Is anyone using it?
>>
>> 2009/6/30 Timothy Perrett :
>> >
>> > Jonas,
>> >
>> > Did you roll this into master? What's its status?
>> >
>> > Cheers, Tim
>> >
>> > On Jun 10, 4:46 pm, James Strachan  wrote:
>> >> 2009/6/9 Jonas Bonér :
>> >>
>> >>
>> >>
>> >> > 2009/6/9 David Pollak :
>> >> >> Jonas,
>> >> >> We always use Maven to load dependencies.  We never use GPL
>> >> >> dependencies.
>> >> >>  If you have a question about the license of a dependency and its
>> >> >> use in
>> >> >> Lift, please ping me privately.
>> >>
>> >> > I am using Maven. But as I said I could not find the Atomikos in any
>> >> > public library, putting them in lib will let the user easily install
>> >> > them in their local repo.
>> >> > Do you know if they are in any public repo?
>> >>
>> >> If its any help I added them here a while back for an integration test
>> >> in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
>> >>
>> >> the repo is:http://repo.fusesource.com/maven2-all/
>> >>
>> >> you might wanna put more recent jars up on some public repo though.
>> >>
>> >> --
>> >> James
>> >> ---http://macstrac.blogspot.com/
>> >>
>> >> Open Source Integrationhttp://fusesource.com/
>> > >
>> >
>>
>>
>>
>> --
>> 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

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-07 Thread Jonas Bonér

Thanks Tim. Thanks for staying on top of it. Derek has already looked
at it and seemed to like it. But I'll wait until I get Greg's
feedback.

2009/7/7 Timothy Perrett :
>
>
> Hey Jonas,
>
> I have no real use case to test it out - I was just interested in its status
> as conceptually it was very very clever and wondered where you were too with
> it. I think Greg or Derek are most likely to be able to give you valuable
> feedback as I believe they are using JTA already.
>
> Cheers, Tim
>
> On 07/07/2009 18:18, "Jonas Bonér"  wrote:
>
>>
>> No I haven't. Should I? Is everyone happy with it?
>> Have anyone tried it? Is anyone using it?
>>
>> 2009/6/30 Timothy Perrett :
>>>
>>> Jonas,
>>>
>>> Did you roll this into master? What's its status?
>>>
>>> Cheers, Tim
>>>
>>> On Jun 10, 4:46 pm, James Strachan  wrote:
 2009/6/9 Jonas Bonér :



> 2009/6/9 David Pollak :
>> Jonas,
>> We always use Maven to load dependencies.  We never use GPL dependencies.
>>  If you have a question about the license of a dependency and its use in
>> Lift, please ping me privately.

> I am using Maven. But as I said I could not find the Atomikos in any
> public library, putting them in lib will let the user easily install
> them in their local repo.
> Do you know if they are in any public repo?

 If its any help I added them here a while back for an integration test
 in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/

 the repo is:http://repo.fusesource.com/maven2-all/

 you might wanna put more recent jars up on some public repo though.

 --
 James
 ---http://macstrac.blogspot.com/

 Open Source Integrationhttp://fusesource.com/

>>>
>>
>>
>
>
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-17 Thread Jonas Bonér

Hi Greg.

Have you had time to look at the JTA stuff?
Should I merge in master?

/Jonas

2009/7/7 Jonas Bonér :
> Thanks Tim. Thanks for staying on top of it. Derek has already looked
> at it and seemed to like it. But I'll wait until I get Greg's
> feedback.
>
> 2009/7/7 Timothy Perrett :
>>
>>
>> Hey Jonas,
>>
>> I have no real use case to test it out - I was just interested in its status
>> as conceptually it was very very clever and wondered where you were too with
>> it. I think Greg or Derek are most likely to be able to give you valuable
>> feedback as I believe they are using JTA already.
>>
>> Cheers, Tim
>>
>> On 07/07/2009 18:18, "Jonas Bonér"  wrote:
>>
>>>
>>> No I haven't. Should I? Is everyone happy with it?
>>> Have anyone tried it? Is anyone using it?
>>>
>>> 2009/6/30 Timothy Perrett :

 Jonas,

 Did you roll this into master? What's its status?

 Cheers, Tim

 On Jun 10, 4:46 pm, James Strachan  wrote:
> 2009/6/9 Jonas Bonér :
>
>
>
>> 2009/6/9 David Pollak :
>>> Jonas,
>>> We always use Maven to load dependencies.  We never use GPL 
>>> dependencies.
>>>  If you have a question about the license of a dependency and its use in
>>> Lift, please ping me privately.
>
>> I am using Maven. But as I said I could not find the Atomikos in any
>> public library, putting them in lib will let the user easily install
>> them in their local repo.
>> Do you know if they are in any public repo?
>
> If its any help I added them here a while back for an integration test
> in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
>
> the repo is:http://repo.fusesource.com/maven2-all/
>
> you might wanna put more recent jars up on some public repo though.
>
> --
> James
> ---http://macstrac.blogspot.com/
>
> Open Source Integrationhttp://fusesource.com/
>

>>>
>>>
>>
>>
>>
>> >>
>>
>
>
>
> --
> Jonas Bonér
>
> twitter: @jboner
> blog:    http://jonasboner.com
> work:   http://crisp.se
> work:   http://scalablesolutions.se
> code:   http://github.com/jboner
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-17 Thread David Pollak
On Fri, Jul 17, 2009 at 1:02 AM, Jonas Bonér  wrote:

>
> Hi Greg.
>
> Have you had time to look at the JTA stuff?
> Should I merge in master?


Please merge into Master.  We've got 6-8 weeks until with have the 1.1
release code slush... and if stuff is in the Maven repo, it'll get used.


>
>
> /Jonas
>
> 2009/7/7 Jonas Bonér :
> > Thanks Tim. Thanks for staying on top of it. Derek has already looked
> > at it and seemed to like it. But I'll wait until I get Greg's
> > feedback.
> >
> > 2009/7/7 Timothy Perrett :
> >>
> >>
> >> Hey Jonas,
> >>
> >> I have no real use case to test it out - I was just interested in its
> status
> >> as conceptually it was very very clever and wondered where you were too
> with
> >> it. I think Greg or Derek are most likely to be able to give you
> valuable
> >> feedback as I believe they are using JTA already.
> >>
> >> Cheers, Tim
> >>
> >> On 07/07/2009 18:18, "Jonas Bonér"  wrote:
> >>
> >>>
> >>> No I haven't. Should I? Is everyone happy with it?
> >>> Have anyone tried it? Is anyone using it?
> >>>
> >>> 2009/6/30 Timothy Perrett :
> 
>  Jonas,
> 
>  Did you roll this into master? What's its status?
> 
>  Cheers, Tim
> 
>  On Jun 10, 4:46 pm, James Strachan  wrote:
> > 2009/6/9 Jonas Bonér :
> >
> >
> >
> >> 2009/6/9 David Pollak :
> >>> Jonas,
> >>> We always use Maven to load dependencies.  We never use GPL
> dependencies.
> >>>  If you have a question about the license of a dependency and its
> use in
> >>> Lift, please ping me privately.
> >
> >> I am using Maven. But as I said I could not find the Atomikos in any
> >> public library, putting them in lib will let the user easily install
> >> them in their local repo.
> >> Do you know if they are in any public repo?
> >
> > If its any help I added them here a while back for an integration
> test
> > in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
> >
> > the repo is:http://repo.fusesource.com/maven2-all/
> >
> > you might wanna put more recent jars up on some public repo though.
> >
> > --
> > James
> > ---http://macstrac.blogspot.com/
> >
> > Open Source Integrationhttp://fusesource.com/
> >
> 
> >>>
> >>>
> >>
> >>
> >>
> >> >>
> >>
> >
> >
> >
> > --
> > Jonas Bonér
> >
> > twitter: @jboner
> > blog:http://jonasboner.com
> > work:   http://crisp.se
> > work:   http://scalablesolutions.se
> > code:   http://github.com/jboner
> >
>
>
>
> --
> 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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-18 Thread Jonas Bonér

JTA stuff is in github master branch now.
http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc127933c/lift-jta

Have fun.
/Jonas

2009/7/17 David Pollak :
>
>
> On Fri, Jul 17, 2009 at 1:02 AM, Jonas Bonér  wrote:
>>
>> Hi Greg.
>>
>> Have you had time to look at the JTA stuff?
>> Should I merge in master?
>
> Please merge into Master.  We've got 6-8 weeks until with have the 1.1
> release code slush... and if stuff is in the Maven repo, it'll get used.
>
>>
>> /Jonas
>>
>> 2009/7/7 Jonas Bonér :
>> > Thanks Tim. Thanks for staying on top of it. Derek has already looked
>> > at it and seemed to like it. But I'll wait until I get Greg's
>> > feedback.
>> >
>> > 2009/7/7 Timothy Perrett :
>> >>
>> >>
>> >> Hey Jonas,
>> >>
>> >> I have no real use case to test it out - I was just interested in its
>> >> status
>> >> as conceptually it was very very clever and wondered where you were too
>> >> with
>> >> it. I think Greg or Derek are most likely to be able to give you
>> >> valuable
>> >> feedback as I believe they are using JTA already.
>> >>
>> >> Cheers, Tim
>> >>
>> >> On 07/07/2009 18:18, "Jonas Bonér"  wrote:
>> >>
>> >>>
>> >>> No I haven't. Should I? Is everyone happy with it?
>> >>> Have anyone tried it? Is anyone using it?
>> >>>
>> >>> 2009/6/30 Timothy Perrett :
>> 
>>  Jonas,
>> 
>>  Did you roll this into master? What's its status?
>> 
>>  Cheers, Tim
>> 
>>  On Jun 10, 4:46 pm, James Strachan  wrote:
>> > 2009/6/9 Jonas Bonér :
>> >
>> >
>> >
>> >> 2009/6/9 David Pollak :
>> >>> Jonas,
>> >>> We always use Maven to load dependencies.  We never use GPL
>> >>> dependencies.
>> >>>  If you have a question about the license of a dependency and its
>> >>> use in
>> >>> Lift, please ping me privately.
>> >
>> >> I am using Maven. But as I said I could not find the Atomikos in
>> >> any
>> >> public library, putting them in lib will let the user easily
>> >> install
>> >> them in their local repo.
>> >> Do you know if they are in any public repo?
>> >
>> > If its any help I added them here a while back for an integration
>> > test
>> > in ActiveMQhttp://repo.fusesource.com/maven2-all/com/atomikos/
>> >
>> > the repo is:http://repo.fusesource.com/maven2-all/
>> >
>> > you might wanna put more recent jars up on some public repo though.
>> >
>> > --
>> > James
>> > ---http://macstrac.blogspot.com/
>> >
>> > Open Source Integrationhttp://fusesource.com/
>> >
>> 
>> >>>
>> >>>
>> >>
>> >>
>> >>
>> >> >>
>> >>
>> >
>> >
>> >
>> > --
>> > Jonas Bonér
>> >
>> > twitter: @jboner
>> > blog:    http://jonasboner.com
>> > work:   http://crisp.se
>> > work:   http://scalablesolutions.se
>> > code:   http://github.com/jboner
>> >
>>
>>
>>
>> --
>> 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
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-18 Thread Timothy Perrett

Awesome - kudos Jonas.

Cheers, Tim

On Jul 18, 11:53 am, Jonas Bonér  wrote:
> JTA stuff is in github master branch 
> now.http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc1...
>
> Have fun.
> /Jonas

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-18 Thread David Pollak
On Sat, Jul 18, 2009 at 11:20 AM, Timothy Perrett
wrote:

>
> Awesome - kudos Jonas.


+1

And more generally, it's great to have such a diverse and talented group of
people contributing to Lift!


>
>
> Cheers, Tim
>
> On Jul 18, 11:53 am, Jonas Bonér  wrote:
> > JTA stuff is in github master branch now.
> http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc1...
> >
> > Have fun.
> > /Jonas
>
> >
>


-- 
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-19 Thread Jonas Bonér

Thanks Tim and David.

2009/7/19 David Pollak :
>
>
> On Sat, Jul 18, 2009 at 11:20 AM, Timothy Perrett 
> wrote:
>>
>> Awesome - kudos Jonas.
>
> +1
>
> And more generally, it's great to have such a diverse and talented group of
> people contributing to Lift!
>
>>
>> Cheers, Tim
>>
>> On Jul 18, 11:53 am, Jonas Bonér  wrote:
>> > JTA stuff is in github master branch
>> > now.http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc1...
>> >
>> > Have fun.
>> > /Jonas
>>
>>
>
>
>
> --
> 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
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-19 Thread Derek Chen-Becker
FYI, it looks like the Hibernate dependency you had in your pom was pulling
in the javax.transactions:jta lib, which isn't available in maven repos. I
added an exclusion to prevent that from breaking the build.

Derek

On Sun, Jul 19, 2009 at 3:08 AM, Jonas Bonér  wrote:

>
> Thanks Tim and David.
>
> 2009/7/19 David Pollak :
> >
> >
> > On Sat, Jul 18, 2009 at 11:20 AM, Timothy Perrett
> 
> > wrote:
> >>
> >> Awesome - kudos Jonas.
> >
> > +1
> >
> > And more generally, it's great to have such a diverse and talented group
> of
> > people contributing to Lift!
> >
> >>
> >> Cheers, Tim
> >>
> >> On Jul 18, 11:53 am, Jonas Bonér  wrote:
> >> > JTA stuff is in github master branch
> >> > now.
> http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc1...
> >> >
> >> > Have fun.
> >> > /Jonas
> >>
> >>
> >
> >
> >
> > --
> > 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
> >
> > >
> >
>
>
>
> --
> Jonas Bonér
>
> twitter: @jboner
> blog:http://jonasboner.com
> work:   http://crisp.se
> work:   http://scalablesolutions.se
> code:   http://github.com/jboner
>
> >
>

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-19 Thread Derek Chen-Becker
... hit the enter key too quickly! Kudos on the work in this library. I
really like how this is coming together.

Derek

On Sun, Jul 19, 2009 at 11:52 PM, Derek Chen-Becker
wrote:

> FYI, it looks like the Hibernate dependency you had in your pom was pulling
> in the javax.transactions:jta lib, which isn't available in maven repos. I
> added an exclusion to prevent that from breaking the build.
>
> Derek
>
>
> On Sun, Jul 19, 2009 at 3:08 AM, Jonas Bonér  wrote:
>
>>
>> Thanks Tim and David.
>>
>> 2009/7/19 David Pollak :
>> >
>> >
>> > On Sat, Jul 18, 2009 at 11:20 AM, Timothy Perrett
>> 
>> > wrote:
>> >>
>> >> Awesome - kudos Jonas.
>> >
>> > +1
>> >
>> > And more generally, it's great to have such a diverse and talented group
>> of
>> > people contributing to Lift!
>> >
>> >>
>> >> Cheers, Tim
>> >>
>> >> On Jul 18, 11:53 am, Jonas Bonér  wrote:
>> >> > JTA stuff is in github master branch
>> >> > now.
>> http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc1...
>> >> >
>> >> > Have fun.
>> >> > /Jonas
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > 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
>> >
>> > >
>> >
>>
>>
>>
>> --
>> Jonas Bonér
>>
>> twitter: @jboner
>> blog:http://jonasboner.com
>> work:   http://crisp.se
>> work:   http://scalablesolutions.se
>> code:   http://github.com/jboner
>>
>> >>
>>
>

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-20 Thread Jonas Bonér

I'm really sorry. I never checked building with an empty maven repo.
Thanks for fixing it.

2009/7/20 Derek Chen-Becker :
> FYI, it looks like the Hibernate dependency you had in your pom was pulling
> in the javax.transactions:jta lib, which isn't available in maven repos. I
> added an exclusion to prevent that from breaking the build.
>
> Derek
>
> On Sun, Jul 19, 2009 at 3:08 AM, Jonas Bonér  wrote:
>>
>> Thanks Tim and David.
>>
>> 2009/7/19 David Pollak :
>> >
>> >
>> > On Sat, Jul 18, 2009 at 11:20 AM, Timothy Perrett
>> > 
>> > wrote:
>> >>
>> >> Awesome - kudos Jonas.
>> >
>> > +1
>> >
>> > And more generally, it's great to have such a diverse and talented group
>> > of
>> > people contributing to Lift!
>> >
>> >>
>> >> Cheers, Tim
>> >>
>> >> On Jul 18, 11:53 am, Jonas Bonér  wrote:
>> >> > JTA stuff is in github master branch
>> >> >
>> >> > now.http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc1...
>> >> >
>> >> > Have fun.
>> >> > /Jonas
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > 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
>> >
>> > >
>> >
>>
>>
>>
>> --
>> Jonas Bonér
>>
>> twitter: @jboner
>> blog:    http://jonasboner.com
>> work:   http://crisp.se
>> work:   http://scalablesolutions.se
>> code:   http://github.com/jboner
>>
>>
>
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---



[Lift] Re: JTA Transaction Monad - Early Access Program

2009-07-20 Thread Jonas Bonér

2009/7/20 Derek Chen-Becker :
> ... hit the enter key too quickly! Kudos on the work in this library. I
> really like how this is coming together.

Thanks Derek.

>
> Derek
>
> On Sun, Jul 19, 2009 at 11:52 PM, Derek Chen-Becker 
> wrote:
>>
>> FYI, it looks like the Hibernate dependency you had in your pom was
>> pulling in the javax.transactions:jta lib, which isn't available in maven
>> repos. I added an exclusion to prevent that from breaking the build.
>>
>> Derek
>>
>> On Sun, Jul 19, 2009 at 3:08 AM, Jonas Bonér  wrote:
>>>
>>> Thanks Tim and David.
>>>
>>> 2009/7/19 David Pollak :
>>> >
>>> >
>>> > On Sat, Jul 18, 2009 at 11:20 AM, Timothy Perrett
>>> > 
>>> > wrote:
>>> >>
>>> >> Awesome - kudos Jonas.
>>> >
>>> > +1
>>> >
>>> > And more generally, it's great to have such a diverse and talented
>>> > group of
>>> > people contributing to Lift!
>>> >
>>> >>
>>> >> Cheers, Tim
>>> >>
>>> >> On Jul 18, 11:53 am, Jonas Bonér  wrote:
>>> >> > JTA stuff is in github master branch
>>> >> >
>>> >> > now.http://github.com/dpp/liftweb/tree/4d8405a3dcf93570da8142c078784f9dc1...
>>> >> >
>>> >> > Have fun.
>>> >> > /Jonas
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > 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
>>> >
>>> > >
>>> >
>>>
>>>
>>>
>>> --
>>> Jonas Bonér
>>>
>>> twitter: @jboner
>>> blog:    http://jonasboner.com
>>> work:   http://crisp.se
>>> work:   http://scalablesolutions.se
>>> code:   http://github.com/jboner
>>>
>>>
>>
>
>
> >
>



-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://crisp.se
work:   http://scalablesolutions.se
code:   http://github.com/jboner

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---