Re: OScheduler

Mike Cannon-Brookes <[email protected]> Mon, 12 Jan 2004 09:47:22 +1100
Newsgroups gmane.comp.java.open-symphony.devel
Message-ID <BC281DAA.40A99%[email protected]>
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