Hi, I can't find the BasicServletConfiguration class, should I override the BaseContext.getThreadObjectContext() method, for checking external changes in db?
Meex 2013/5/16 Mike Kienenberger <mkien...@gmail.com> > Something to keep in mind for web apps is that you probably do not > want to have a data refresh at some arbitrary point during a request, > only at the beginning of a request. It's generally better to have > your data be a second or two out of date than to have the value of an > object or object's relationships change mid-stream while you are > working with it. > > I've been using the LAST_EXTERNAL_UPDATE method for several years now, > and I haven't had any regrets. I've considered changing it over to > jms or a similar notification framework, but there weren't any > compelling reasons to do so. This way there's no dependencies in the > external processes (most of which are not maintained or written by > me), and it's also easy to manually execute a database update and > insure that the change will become visible to the active web sessions > immediately. On the other hand, external changes to our database are > rare. Normally only a couple times a day. > > > On Thu, May 16, 2013 at 1:34 PM, Andrus Adamchik <and...@objectstyle.org> > wrote: > > Actually if cross-context events are in effect (which is the default), > invalidating an object from a given ObjectContext will automatically > invalidate it across peers. > > > > I would still approach it via query cache and cache groups though. All > that is needed is that all contexts access those objects via a query > instead of storing a direct reference. > > > > Andrus > > > > On May 16, 2013, at 12:14 PM, Markus Reich <markus.re...@markusreich.at> > wrote: > > > >> :-) sorry, I try it more detailed > >> > >> I have a multiuser Tomcat Webapp, the DB (Oracle) is also updated by > other > >> processes. A refresh is not enough to show the changed data, so my idea > is > >> to make a servlet, which invalidates certain DataObjects (mostly it's > just > >> one) of all thread binded contexts. > >> So when the user refreshes the UI and the data gets selected again, the > >> changed values are shown. > >> So it would be enough to make object hollow. > >> > >> Markus > >> > >> > >> 2013/5/16 Andrus Adamchik <and...@objectstyle.org> > >> > >>> The question is too generic, so the answer is "yes" :) Could you > describe > >>> the scenario in a bit more detail? > >>> > >>> Also does your interface needs to know when an object is invalidated > right > >>> at that moment or is it enough to make the object "hollow" so that it > is > >>> refetched lazily on next access? > >>> > >>> Andrus > >>> > >>> On May 16, 2013, at 7:52 AM, Markus Reich <markus.re...@markusreich.at > > > >>> wrote: > >>>> would it be possible to work with a servlet to invalidate certain > >>> objects? > >>>> > >>>> Is there a way to get all ObjectStores of all Threads or is the only > >>>> solution to set the DataContext as attribute in the session? > >>>> > >>>> > >>>> 2013/5/15 Andrus Adamchik <and...@objectstyle.org> > >>>> > >>>>> I'd use query.setCacheStrategy(..) / query.setCacheGroups(..) to > cache > >>> the > >>>>> results, and then define expiration time for a given set of cache > groups > >>>>> for whatever cache provider is in use (EhCache most likely, so this > >>> will go > >>>>> into ehcache.xml). > >>>>> > >>>>> If you want real-time refresh, EhCache might be configured to listen > to > >>>>> cache group refresh events via JMS. Your external process would send > >>> such > >>>>> events via ActiveMQ (that supports a bunch of command-line friendly > >>>>> protocols, not just JMS) whenever the data is changed. > >>>>> > >>>>> Andrus > >>>>> > >>>>> > >>>>> On May 15, 2013, at 4:28 PM, Markus Reich < > markus.re...@markusreich.at> > >>>>> wrote: > >>>>> > >>>>>> Hi, > >>>>>> > >>>>>> is there really no better way than described here: > >>>>>> http://markmail.org/message/plnaj4zj4gxrt6hk > >>>>>> > >>>>>> regards > >>>>>> Meex > >>>>> > >>>>> > >>>> > >>>> > >>>> -- > >>>> *Markus Reich* > >>>> Moosbach 28/2 > >>>> 6392 St. Jakob i.H. > >>>> www.markusreich.at / www.meeximum.at > >>>> markus.re...@markusreich.at > >>> > >>> > >> > >> > >> -- > >> *Markus Reich* > >> Moosbach 28/2 > >> 6392 St. Jakob i.H. > >> www.markusreich.at / www.meeximum.at > >> markus.re...@markusreich.at > > > -- *Markus Reich* Moosbach 28/2 6392 St. Jakob i.H. www.markusreich.at / www.meeximum.at markus.re...@markusreich.at