1 /*
2 * JBoss, Home of Professional Open Source.
3 * Copyright 2006, Red Hat Middleware LLC, and individual contributors
4 * as indicated by the @author tags. See the copyright.txt file in the
5 * distribution for a full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */
22 package org.jboss.resource.adapter.quartz.inflow;
23
24 import org.jboss.logging.Logger;
25 import org.quartz.Job;
26 import org.quartz.JobExecutionContext;
27 import org.quartz.JobExecutionException;
28
29 import javax.resource.spi.UnavailableException;
30 import javax.resource.spi.endpoint.MessageEndpoint;
31 import javax.resource.spi.endpoint.MessageEndpointFactory;
32
33 /**
34 * Comment
35 *
36 * @author <a href="mailto:bill@jboss.org">Bill Burke</a>
37 * @version $Revision: 71554 $
38 */
39 public class QuartzJob implements Job
40 {
41 private static Logger log = Logger.getLogger(QuartzJob.class);
42
43 public QuartzJob()
44 {
45 }
46
47 public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException
48 {
49 MessageEndpoint endpoint = null;
50 try
51 {
52 MessageEndpointFactory endpointFactory = (MessageEndpointFactory)jobExecutionContext.getJobDetail().getJobDataMap().get("endpointFactory");
53 endpoint = endpointFactory.createEndpoint(null);
54 if (endpoint != null)
55 {
56 Job job = (Job) endpoint;
57 job.execute(jobExecutionContext);
58 }
59 else
60 {
61 log.error("ENDPOINT IS NULL!!!!");
62 }
63 }
64 catch (UnavailableException e)
65 {
66 throw new JobExecutionException(e);
67 }
68 finally
69 {
70 if (endpoint != null)
71 {
72 endpoint.release();
73 }
74 }
75
76 }
77 }