<?xml version="1.0"?>
<!--
  Copyright 2002,2004 The Apache Software Foundation.
  
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<j:jelly xmlns:j="jelly:core"
         xmlns:q="jelly:quartz">


  <q:job group="demo" name="cheese">
    I like cheese
  </q:job>

  <q:cron spec="*/5 * * ? * *"
          name="every.5.seconds"
          group="demo"
          jobName="cheese"
          jobGroup="demo"/>

  <q:wait-for-scheduler/>

</j:jelly>
