Looks like it. Probably private[liftweb] would work, too. In any case, the
scaladocs need to be updated to reflect what it's for.

On Fri, Nov 13, 2009 at 12:26 PM, Kris Nuttycombe <kris.nuttyco...@gmail.com
> wrote:

>
> Hmmm.... is this now TransientRequestVar? It's private[http], but
> could it be protected instead?
>
> Kris
>
> On Fri, Nov 13, 2009 at 11:22 AM, Kris Nuttycombe
> <kris.nuttyco...@gmail.com> wrote:
> > Let me just try it out since I've got a test case, and if need be I'll
> > file the ticket & commit.
> >
> > Kris
> >
> > On Fri, Nov 13, 2009 at 10:45 AM, Derek Chen-Becker
> > <dchenbec...@gmail.com> wrote:
> >> Looking at 81f1715f671e8b5ee4f6d3ce242cc9da272611d1, maybe the
> RequestVar
> >> needs to be changed to an UnboundRequestVar. It's not clear from the
> >> scaladocs on UnboundRequestVar, though, that this is the intent. It
> looks
> >> like those scaladocs were just copied and pasted from RequestVar. If
> this
> >> sounds like the right change to make I can fix RequestVarEM and update
> the
> >> scaladocs for UnboundRequestVar.
> >>
> >> Derek
> >>
> >> On Fri, Nov 13, 2009 at 11:24 AM, Kris Nuttycombe
> >> <kris.nuttyco...@gmail.com> wrote:
> >>>
> >>> On Thu, Nov 12, 2009 at 5:57 PM, David Pollak
> >>> <feeder.of.the.be...@gmail.com> wrote:
> >>> > Kris,
> >>> >
> >>> > There was a bunch of changes in the net.liftweb.mapper.DB code for
> >>> > transaction management, but I don't think that would impact JPA.
> >>> >
> >>> > Also, in M7, there were changes in how RequestVars are handled during
> >>> > Ajax
> >>> > requests... basically, state is snapshotted when the Ajax request is
> >>> > created
> >>> > and then that snapshot state is restored during the servicing of the
> >>> > Ajax
> >>> > request.  If the RequestVarEM stuff is being snapshotted, that could
> >>> > cause
> >>> > issues.
> >>> >
> >>> > Thanks,
> >>> >
> >>> > David
> >>>
> >>> That sounds like it could very likely be the culprit, but I'm going to
> >>> have to dig a bit more to know for certain.
> >>>
> >>> the RequestVarEM trait uses the following RequestVar:
> >>>
> >>>  object emVar extends RequestVar[EntityManager](openEM()) {
> >>>    this.registerGlobalCleanupFunc(ignore => closeEM(this.is))
> >>>
> >>>    override def __nameSalt = net.liftweb.util.Helpers.randomString(10)
> >>>  }
> >>>
> >>> openEM() is supplied in my case by JndiEMF. If this would not be
> >>> called during handling of an AJAX request, that's definitely the
> >>> issue.
> >>>
> >>> This brings to mind an issue I'd worried about a long time ago, back
> >>> when I had my own implementation of a JNDI resource acquisition trait
> >>> for persistence. We can tie into the cleanup phase of the RequestVar's
> >>> lifecycle with a cleanup func, but if the RequestVar is going to be
> >>> persisted across actual HTTP requests in the AJAX case, we will also
> >>> need additional lifecycle hooks. I'm actually kind of concerned about
> >>> this decision; it seems like it could really complicate usage of
> >>> RequestVar in cases where the container has additional stuff it does
> >>> related to the lifecycle of the HTTP request (like JTA).
> >>>
> >>> Maybe there should be a separate AnyVar subclass that is intended for
> >>> this sort of persist-for-ajax situation?
> >>>
> >>> Kris
> >>>
> >>> >
> >>> > On Thu, Nov 12, 2009 at 4:49 PM, Kris Nuttycombe
> >>> > <kris.nuttyco...@gmail.com>
> >>> > wrote:
> >>> >>
> >>> >> Hi, all (Derek! :),
> >>> >>
> >>> >> Have there been significant changes in how transactions are handled
> by
> >>> >> lift-jpa since M6? Due to the rearrangement of the repository, I'm
> >>> >> having a hard time figuring out if the code has changed.
> >>> >>
> >>> >> I have a repeatable issue that shows up when changing between M6 and
> >>> >> SNAPSHOT wherein I now get
> >>> >> javax.persistence.TransactionRequiredExceptions when doing a merge
> >>> >> using a JndiEMF with RequestVarEM in an AJAX callback.
> >>> >>
> >>> >> Has anything major changed in this timeframe?
> >>> >>
> >>> >> Kris
> >>> >>
> >>> >>
> >>> >
> >>> >
> >>> >
> >>> > --
> >>> > Lift, the simply functional web framework http://liftweb.net
> >>> > Beginning Scala http://www.apress.com/book/view/1430219890
> >>> > Follow me: http://twitter.com/dpp
> >>> > Surf the harmonics
> >>> >
> >>> > >
> >>> >
> >>>
> >>>
> >>
> >>
> >> >>
> >>
> >
>
> >
>

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

Reply via email to