You can stop the route using API on CamelContext.
You can also use a RoutePolicy and attach to the route, and control logic to start/stop the route. We have out of the box policy that uses a timer/quartz cron scheduler, so you can define "opening hours" etc.
And there is also this FAQ to stop a route from a route
Also there is a delay option on the JPA endpoint, where you can specify polling frequency. eg delay=1h, to poll once per hour.