Currently the database schema prescribes columns JOB_NAME, SCHEDULE_DATE, JOB_RUN, JOB_STREAM for job identification. Recently I've been told about a usecase where the job identifier is just a unique string generated by some external source. This seems reasonable, but doesn't fit into the current schema. The easy way to deal with this was to set the string as job_stream value,which was an unused property of ScheduledJobIdentifier, but this is obviously a hack.

It seems to me the job identification could be made more generic (e.g. a JOB_NAME and a single JOB_INSTANCE_IDENTIFIER string column) or it should be designed for customization (e.g. by putting the identification fields in a separate table and documenting that the definition of this table plus createJob() and findJob() dao methods are expected to be overriden - note that would leave orphaned STATUS column in job table).

One detail that supports this idea is that JOB_RUN and JOB_STREAM properties have no documentation and at least I am not certain what exactly they represent - has anybody really used them so far?

Are there more users who find the current job identification awkward/redundant for their needs or is the above just an exception?

Thanks