Originally Posted by
lucasward
@Non identifying JobParameters
I'm not completely against them by any means. When I first coded it up, I thought long and hard about if I should create two distinct sets. In fact, in a version I did months and months ago it did have that. However, here's the issue, if you're 'updated data' based upon this parameter, is not this a new JobInstance? If you're using this value to say, update some data (I still don't understand completely though) then restarting a job that will start at the same place it left off, but with different 'updated data' seems wrong to me. It still seems like, if you're using this parameter *at all* in your step, which I'm assuming you would if you bothered putting it in JobParameters in the first place, then restarting a job with a different parameter would be bad. Keep in mind, it's not preventing you from running the job, but simply causes a new instance to be created.
That being said, I'm still open to it, but I would need the law of 'job parameters are either used to identify or modify/control processing' to be broken, and I still can't come up with a use case that breaks it.
@JobContext
It still sounds like a caching solution would be a bit better than JobContext. I've seen a similar solution used in quite a few scenarios. Further, more caches are built to handle concurrent requests. This is another one I'm still open to (and I think the rest of the team as well) but I'm still not seeing a solid use case. However, it's probably another one of those things we'll look at when creating the feature/improvement list after release 1.