I’m writing an java based app (not web app) and it should be able to run standalone without any container the task it carries are below:
- windows scheduler fires off either quartz or simple POKO
- pick up file(s) during midnight
- import the data into DB
- move the files over from original destination to another drive
Now, the dilemma I’m having is I’ve been reading around and it appears quartz need web container to function.
Is that correct AND what would be most simple and durable solution?
According your question: Quartz does not need a web container, it can be run in any java application. See Quartz Quickstart Guide for how to configure Quartz.
If you use Quartz the windows scheduler shouldn’t be necessary, but this implies that your java application is running constantly.
I think Quartz has the advantage, that you can configure your application in one place and do not need to consider os specific scheduling. Further more Quartz makes you independent of the os specific scheduling mechanism.
But: All this advantages are not relevant if your application is not running all the time.
On the other hand if you want it to be a fire and forget like application, that runs, does its work and then quits again, you will be on the safe side to delegate the task of scheduling to the operation system your application runs on.
So, for this specific context I think using the operation system’s scheduling mechanism is the better option.