On 8/6/2010 11:42 AM, Cris J Holdorph wrote:
Now knowing that it is, why does there have to be multiple config files
involved.  Can't SmartLdap register a task with the quartz system on
it's own?


You mean, like through a Java API?

I could see that. In this case SmartLdap could keep it's configuration in one place, but nevertheless leverage the advantages Quartz may offer under-the-hood.

Now, in case there's some reason you can't register out of context a new
job.  And you must configure it separately.  I think a counter point to
your logic though, is why should someone have to edit multiple places to
change all of the time based tasks?

That's a good counter point.

But I mostly expect to establish a sensible default behavior, and then for schools that use SmartLdap to leave the default alone. (Setting aside the idea above for a moment) *if* we configured the Quartz job in schedulerContext.xml, it's less easy to provide a sensible, pre-configured default setup since SmartLdap is an optional component.

I suppose we could ask the SmartLdap Quartz job to check (somehow) and make sure SmartLdap is configured before doing any work. The pattern I was trying to avoid was having a commented-out XML block in schedulerContext.xml, with a note in the SmartLdap setup instructions to go and uncomment it.

On 8/6/2010 10:59 AM, Eric Dalquist wrote:
> The change set for SmartLdap will leak the refresh thread when the
> portal webapp is reloaded.

Reflecting a bit more on this point... I still can't imagine leaking the refresh thread "when the portal webapp is reloaded." And, FWIW I have observed the new code joining the refresh thread -- and emerging from it -- once and only once. In other words, when the portal starts up SmartLdap joins (on the first time only) the refresh thread, and I have observed SmartLdap resuming, successfully, from the thread that joined.

But I suppose there's a chance of a leak if -- after that first time through -- the refresh thread(s) simply go off and never return... somehow never finish nor error-out. There doesn't appear to be a setTimeout() method on Thread.class, but establishing a maximum period the thread is allowed to live could be done with a ThreadPoolExecutor or (I presume) with Quartz as well.

drew

--
You are currently subscribed to uportal-dev@lists.ja-sig.org as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Reply via email to