Re: OScheduler
Hani Suleiman <[email protected]> Sun, 11 Jan 2004 18:13:08 -0500
| Newsgroups | gmane.comp.java.open-symphony.devel |
|---|---|
| Message-ID | <[email protected]> |
I dunno, the problems with osuser imho have nothing to do with the persistence options. Anyone adding any functionality can test and make sure it's all working with the memory provider, and just throw an UnsupportedOperationException for persistence stores they can't be bothered to implement (although that'd be pretty rude, people should make sure that at least one 'real' persistence store s handled). Bugs in particular stores are fine, they only affect people using that store and don't impact the whole application. There's no reason to support everything from day 1, but it should certainly be possible to plug in new mechanisms, a good example is when ofbiz was no longer cool and everyone wanted to switch to hibernate, all that had to be done was dropping in a hibernate impl and a config file change. People who didn't use either was completely unaffected, people who wanted ofbiz could keep using it, and so on. All I'm saying is that it seems silly to chop one's knees off from the get go by harcoding to a particular persistence mechanism (or even assuming the semantics of a particular mechanism). Just define a SchedulerStore interface with a SchedulerStoreFactory and let the persistence implementations trickle in. Generally this is working quite nicely in oswf (though far from perfect, admittedly). There are production systems using jdbc, ejb, ofbiz, hibernate, and memory (via webdav!) stores. On Jan 11, 2004, at 5:47 PM, Mike Cannon-Brookes wrote: > I agree - I think personally the biggest problem with multiple > persistence > mechanisms (see OSUser :)) is that any developer making a change to > the API > has to somehow set up 15 different persistence options to test his > changes, > hence you usually end up saying 'fuck it' and doing nothing. > > Fewer options = better here. > > Memory / XML / Hibernate are probably my favourites. > > M > > On 12/1/04 9:10 AM, "Hani Suleiman" ([email protected]) penned the > words: > >> -1, too much abstraction. We'd end up (re)inventing a meta-persistence >> mechanism. All it requires to support this is following good design >> principles and using interfaces when appropriate coupled with sensible >> usage of the factory pattern. There isn't enough magic involved to >> merit a whole project. >> >> On Jan 11, 2004, at 5:04 PM, Mathias Bogaert wrote: >> >>> Shouldn't we agree then upon an OpenSymphony 'standard' for pluggable >>> persistence? And perhaps put this in a seperate component? Otherwise >>> some OS >>> projects will support this technology, and other that technology, but >>> there >>> won't be a synergy. >>> >>> Mathias >>> >>> ----- Original Message ----- >>> From: "Patrick Lightbody" <[email protected]> >>> To: <[email protected]> >>> Sent: Sunday, January 11, 2004 10:31 PM >>> Subject: RE: [Opensymphony-developers] OScheduler >>> >>> >>>> James was offered to join OpenSymphony and the offer was never >>>> retracted. Quartz is a great product and we'd be lucky to have him >>>> contribute to OpenSymphony as a whole by adding another great >>>> product. >>>> As for your three questions, I don't see how the third one really >>>> matters. Re: the package name... yes, we'd like for it to be >>>> com.opensymphony.quartz, though that could happen later (like >>>> during a >>>> major release) as to not upset a current release branch (1.x, for >>>> example). >>>> >>>> With regards to the simplicity, I've used (and dug deep in to the >>>> code) >>>> Quartz pretty extensively, and I would be happy to see it with OS. >>>> We >>>> have projects ranging from simple (OSCore, SiteMesh, OSCache) to >>>> much >>>> more complex (OSWorkflow, WebWork, OSUser). I think Quartz would fit >>>> on >>>> the more complex side of the curve, but that's OK. >>>> >>>> The only thing I'd like to see with Quartz in the future is >>>> pluggable >>>> persistence (in the style of OSWorkflow -- it seems to be a pretty >>>> popular "feature"). >>>> >>>> Anyway, James, I think if you joined up with OpenSymphony you'd be >>>> very >>>> welcome. Mathias, Hani, and I would probably be very eager to help >>>> you >>>> out wherever possible. And I'm sure Mathias' scheduler has a lot of >>>> good >>>> ideas you can integrate in with 2.0. >>>> >>>> -Pat >>>> >>>> -----Original Message----- >>>> From: [email protected] >>>> [mailto:[email protected]] On >>>> Behalf >>>> Of Mathias Bogaert >>>> Sent: Sunday, January 11, 2004 12:27 PM >>>> To: [email protected] >>>> Subject: Re: [Opensymphony-developers] OScheduler >>>> >>>> I'm still waiting for an answer of James. >>>> >>>> Mathias >>>> >>>> ----- Original Message ----- >>>> From: "Matthew E.Porter" <[email protected]> >>>> To: <[email protected]> >>>> Sent: Sunday, January 11, 2004 4:33 PM >>>> Subject: Re: [Opensymphony-developers] OScheduler >>>> >>>> >>>>> Has there been any more progress in either of these being adopted >>>>> by >>>> OS? >>>>> >>>>> >>>>> Cheers, >>>>> matthew >>>>> >>>>> On Jan 9, 2004, at 5:59 PM, Mathias Bogaert wrote: >>>>> >>>>>> James, >>>>>> >>>>>> The scheduler I created is *much* more simple (and thus *much* >>>>>> less >>>>>> features) than Quartz. I didn't even consider clustering, >>>>>> 'prioritization of >>>>>> job firing', and most of the other (exotic) Quartz features. I >>>>>> just >>>> >>>>>> needed a >>>>>> fairly simple scheduler that could persist my jobs *using >>>> Hibernate*. >>>>>> To be >>>>>> frank, I currently don't have much time left to work on issues >>>>>> like >>>> >>>>>> that, so >>>>>> I would very much appreciate a collaborative effort. >>>>>> >>>>>> Here are some concrete questions for you: >>>>>> >>>>>> 1. OS components are lean and mean, so I'm not sure some of Quartz >>>>>> features >>>>>> will 'fit' in, e.g. RMI, how do you see this? >>>>>> 2. The package should be com.opensymphony.quartz, objections? >>>>>> 3. What are your main motivations for moving to OS now and not >>>> before? >>>>>> >>>>>> Cheers, >>>>>> Mathias >>>>>> >>>>>> ----- Original Message ----- >>>>>> From: "James House" <[email protected]> >>>>>> To: <[email protected]> >>>>>> Sent: Friday, January 09, 2004 9:44 PM >>>>>> Subject: Re: [Opensymphony-developers] OScheduler >>>>>> >>>>>> >>>>>>> >>>>>>> Matthias, >>>>>>> >>>>>>> James here (primary developer of Quartz). I don't know if your >>>>>>> interested or not, but I've had a full new design of Quartz >>>>>>> (Quartz >>>> >>>>>>> 2.0) >>>>>>> getting dusty for several months no, and was getting ready to >>>> actually >>>>>>> dig in and build the thing (The work is about 20% done, and the >>>>>>> changes >>>>>>> include: a significantly improved/changed API, usage of Hibernate >>>> for >>>>>>> persistence, over-hauled clustering features, re-thinking of how >>>>>>> guarantees and prioritization of job firings (and misfirings) >>>> occur, >>>>>>> etc.). In the past I had been invited to join Quartz under the >>>>>>> OS >>>>>>> umbrella, and had declined, but I was actually planning to write >>>>>>> an >>>>>>> e-mail to Patrick in the next week or so and ask if I'm still >>>> welcome, >>>>>>> and see if anyone wants to help... I'm also interested in >>>>>>> leaving >>>>>>> SourceForge and moving java.net. >>>>>>> >>>>>>> Anyway what are your thoughts on a collaborative effort? >>>>>>> >>>>>>> james >>>>>>> >>>>>>> >>>>>>> Hani Suleiman wrote: >>>>>>> >>>>>>>> Yep, that's what I was going to propose. xml, ejb, and memory. >>>>>>>> >>>>>>>> Mathias Bogaert wrote: >>>>>>>> >>>>>>>>> I'm not a big fan of multiple persistence mechanisms (look at >>>>>>>>> the >>>> >>>>>>>>> many >>>>>>>>> problems with it in OSUser/OSAccess). Hibernate supports all >>>> kinds >>>>>>>>> of >>>>>>>>> databases, so no problem there. And offcourse, the API allows >>>>>>>>> to >>>>>>>>> plug, but >>>>>>>>> except for perhaps an XML and EJB one, I don't think we should >>>> add >>>>>> more. >>>>>>>>> >>>>>>>>> Mathias >>>>>>>>> >>>>>>>>> ----- Original Message ----- >>>>>>>>> From: "Hani Suleiman" <[email protected]> >>>>>>>>> To: <[email protected]> >>>>>>>>> Sent: Friday, January 09, 2004 9:17 PM >>>>>>>>> Subject: Re: [Opensymphony-developers] OScheduler >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Yes! Although the one thing that is glaringly missing from >>>>>>>>>> your >>>>>>>>>> description is support for multiple persistence mechanisms, so >>>> any >>>>>>>>>> objections to adding that in? >>>>>>>>>> >>>>>>>>>> Anyway, big +1 from me for having such a component, as long as >>>> it >>>>>>>>>> follows the same principles as all the others (few >>>>>>>>>> dependencies, >>>>>>>>>> optional support for stuff, etc etc). >>>>>>>>>> >>>>>>>>>> Mathias Bogaert wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Guys, >>>>>>>>>>> >>>>>>>>>>> Over the last month, I've written a scheduler (like Quartz), >>>> but >>>>>>>>>>> with >>>>>>>>>> >>>>>>>>> >>>>>>>>> much >>>>>>>>> >>>>>>>>>>> cleaner interfaces, based on java.util.Timer, lot of the same >>>>>>>>>>> principals >>>>>>>>>> >>>>>>>>> >>>>>>>>> as >>>>>>>>> >>>>>>>>>>> XWork (Job, JobSupport, JobInvocation, interceptors, etc), >>>> using >>>>>>>>>>> the >>>>>>>>>> >>>>>>>>> >>>>>>>>> cron >>>>>>>>> >>>>>>>>>>> parser from OSCache, with Hibernate as backing store for >>>> storing >>>>>>>>>>> jobs >>>>>>>>>> >>>>>>>>> >>>>>>>>> and >>>>>>>>> >>>>>>>>>>> job parameters (that are set on a job having setters). >>>>>>>>>>> Startup >>>>>>>>>>> through a >>>>>>>>>>> context listener. The documentation is a work in progress, >>>>>>>>>>> and >>>> >>>>>>>>>>> it's >>>>>>>>>>> not >>>>>>>>>> >>>>>>>>> >>>>>>>>> very >>>>>>>>> >>>>>>>>>>> well tested (almost zero unit tests, I'm not into TDD yet). >>>>>>>>>>> >>>>>>>>>>> I've been thinking about releasing it as open source, and I'm >>>>>>>>>>> wondering >>>>>>>>>> >>>>>>>>> >>>>>>>>> if >>>>>>>>> >>>>>>>>>>> OpenSymphony would be interested. Offcourse any better name >>>>>>>>>>> or >>>> >>>>>>>>>>> other >>>>>>>>>>> suggestions are appreciated. >>>>>>>>>>> >>>>>>>>>>> Mathias Bogaert >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------- >>>>>>>>>>> This SF.net email is sponsored by: Perforce Software. >>>>>>>>>>> Perforce is the Fast Software Configuration Management System >>>>>> offering >>>>>>>>>>> advanced branching capabilities and atomic changes on 50+ >>>>>>>>>>> platforms. >>>>>>>>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Opensymphony-developers mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/opensymphony- >>>>>>>>>>> developers >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> ------------------------------------------------------- >>>>>>>>>> This SF.net email is sponsored by: Perforce Software. >>>>>>>>>> Perforce is the Fast Software Configuration Management System >>>>>>>>>> offering >>>>>>>>>> advanced branching capabilities and atomic changes on 50+ >>>>>>>>>> platforms. >>>>>>>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>>>>>>>> _______________________________________________ >>>>>>>>>> Opensymphony-developers mailing list >>>>>>>>>> [email protected] >>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/opensymphony- >>>>>>>>>> developers >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------- >>>>>>>>> This SF.net email is sponsored by: Perforce Software. >>>>>>>>> Perforce is the Fast Software Configuration Management System >>>>>>>>> offering >>>>>>>>> advanced branching capabilities and atomic changes on 50+ >>>> platforms. >>>>>>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>>>>>>> _______________________________________________ >>>>>>>>> Opensymphony-developers mailing list >>>>>>>>> [email protected] >>>>>>>>> >>>> https://lists.sourceforge.net/lists/listinfo/opensymphony-developers >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------- >>>>>>>> This SF.net email is sponsored by: Perforce Software. >>>>>>>> Perforce is the Fast Software Configuration Management System >>>>>>>> offering >>>>>>>> advanced branching capabilities and atomic changes on 50+ >>>> platforms. >>>>>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>>>>>> _______________________________________________ >>>>>>>> Opensymphony-developers mailing list >>>>>>>> [email protected] >>>>>>>> >>>> https://lists.sourceforge.net/lists/listinfo/opensymphony-developers >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------- >>>>>>> This SF.net email is sponsored by: Perforce Software. >>>>>>> Perforce is the Fast Software Configuration Management System >>>> offering >>>>>>> advanced branching capabilities and atomic changes on 50+ >>>> platforms. >>>>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>>>>> _______________________________________________ >>>>>>> Opensymphony-developers mailing list >>>>>>> [email protected] >>>>>>> >>>> https://lists.sourceforge.net/lists/listinfo/opensymphony-developers >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------- >>>>>> This SF.net email is sponsored by: Perforce Software. >>>>>> Perforce is the Fast Software Configuration Management System >>>> offering >>>>>> advanced branching capabilities and atomic changes on 50+ >>>>>> platforms. >>>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>>>> _______________________________________________ >>>>>> Opensymphony-developers mailing list >>>>>> [email protected] >>>>>> https://lists.sourceforge.net/lists/listinfo/opensymphony- >>>>>> developers >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------- >>>>> This SF.net email is sponsored by: Perforce Software. >>>>> Perforce is the Fast Software Configuration Management System >>>>> offering >>>>> advanced branching capabilities and atomic changes on 50+ >>>>> platforms. >>>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>>> _______________________________________________ >>>>> Opensymphony-developers mailing list >>>>> [email protected] >>>>> https://lists.sourceforge.net/lists/listinfo/opensymphony- >>>>> developers >>>>> >>>>> >>>> >>>> >>>> >>>> ------------------------------------------------------- >>>> This SF.net email is sponsored by: Perforce Software. >>>> Perforce is the Fast Software Configuration Management System >>>> offering >>>> advanced branching capabilities and atomic changes on 50+ platforms. >>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>> _______________________________________________ >>>> Opensymphony-developers mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/opensymphony-developers >>>> >>>> >>>> ------------------------------------------------------- >>>> This SF.net email is sponsored by: Perforce Software. >>>> Perforce is the Fast Software Configuration Management System >>>> offering >>>> advanced branching capabilities and atomic changes on 50+ platforms. >>>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>>> _______________________________________________ >>>> Opensymphony-developers mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/opensymphony-developers >>>> >>>> >>> >>> >>> >>> ------------------------------------------------------- >>> This SF.net email is sponsored by: Perforce Software. >>> Perforce is the Fast Software Configuration Management System >>> offering >>> advanced branching capabilities and atomic changes on 50+ platforms. >>> Free Eval! http://www.perforce.com/perforce/loadprog.html >>> _______________________________________________ >>> Opensymphony-developers mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/opensymphony-developers >>> >> >> >> >> ------------------------------------------------------- >> This SF.net email is sponsored by: Perforce Software. >> Perforce is the Fast Software Configuration Management System offering >> advanced branching capabilities and atomic changes on 50+ platforms. >> Free Eval! http://www.perforce.com/perforce/loadprog.html >> _______________________________________________ >> Opensymphony-developers mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/opensymphony-developers > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Perforce Software. > Perforce is the Fast Software Configuration Management System offering > advanced branching capabilities and atomic changes on 50+ platforms. > Free Eval! http://www.perforce.com/perforce/loadprog.html > _______________________________________________ > Opensymphony-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/opensymphony-developers > ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html