openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dick <michael.d.d...@gmail.com>
Subject Re: Best way to "prime" OpenJPA before first request?
Date Thu, 21 Jan 2010 21:31:00 GMT
Another strategy that I've seen used is to create the EntityManagerFactory
and an EntityManager at app start up. Much of the metadata resolution occurs
when you create the first EM (helps if you list your classes in
persistence.xml).

AIUI it isn't as complete as preloading the MetaDataRepository (among other
things the MDR still has a lot of synchronization points). But if you're
looking for a quick and dirty fix it might work for you.

-mike

On Thu, Jan 21, 2010 at 3:17 PM, Rick Curtis <curtisr7@gmail.com> wrote:

> Kevin - Close, but no cigar. "NoLock=true" isn't valid.
>
> I'll get the docs fully updated today or tomorrow.
>
> --
> Thanks,
> Rick
>
> On Thu, Jan 21, 2010 at 2:41 PM, Kevin Sutter <kwsutter@gmail.com> wrote:
>
> > Rick is the expert here, but the 1.2.2 release contains an improvement to
> > do the metadata repository initialization up front.  This has shown to
> > greatly improve both performance and scalability.  I believe you
> kickstart
> > this activity by using the following property...
> >
> > <property name="openjpa.MetaDataRepository"
> value="Preload=true,NoLock=true"/>
> >
> > Kevin
> >
> >
> > On Thu, Jan 21, 2010 at 2:24 PM, KARR, DAVID (ATTCINW) <dk068x@att.com
> >wrote:
> >
> >> > -----Original Message-----
> >> > From: MiƂosz Tylenda [mailto:mtylenda@o2.pl]
> >> > Sent: Wednesday, December 30, 2009 7:03 AM
> >> > To: users@openjpa.apache.org
> >> > Subject: Re: Best way to "prime" OpenJPA before first request?
> >> >
> >> > > I'm building a REST-based app using CXF and OpenJPA 1.2.1.  The app
> >> > > works fine, but I've noticed that the first request to the app after
> >> > > startup takes quite a while, and most of the time is spent on the
> >> > first
> >> > > JPA request.  Following requests, even for different objects and
> >> > > classes, goes much faster.  What are my possible options for
> >> > "priming"
> >> > > JPA at startup so that the first request doesn't take so long?
> >> >
> >> > 1. If you are using servlets, confgure web.xml to load your servlet at
> >> > start-up or add some *Listener.
> >> > 2. Your application server might provide some scheduler API - try to
> >> > configure it so that it issues a request to your app after the app
> gets
> >> > loaded.
> >>
> >> > 3. openjpa.InitializeEagerly property but I am afraid it requires a
> >> > newer OpenJPA than 1.2.1
> >>
> >> I see that this property isn't in 1.2.2.  Will it be in the next point
> >> release?
> >>
> >>
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message