Weblogic JMS as a persistent timer for OSB tasks ================================================ Oracle Service Bus surely lacks ability to run scheduled tasks. Developers may leverage Unix cron, RDBMS job, EJB timer service or anything they like. In my case there was a need to run a task exactly once a day across a cluster and retry failures. I also had to avoid using RDBMS as there wasn't another reason to bring in a database. Portability didn't matter so it was made possible with a mix of a quota, migratable JMS server, ServletContextListener and a few lines of EJB code. * The scheduled OSB task is implemented as a proxy service with JMS transport, i.e. a JMS queue consumer. * A quota allows the queue to hold only one message at any one moment. * Due to default delivery parameters of the queue the message will not be consumed until a particular time every day. * The queue is targeted to a migratable JMS server which is basically a fault-tolerant cluster-wide singleton. * An EJB timer deals with sending messages to the queue.