mirror of https://github.com/apache/activemq.git
support for scheduling
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@907208 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
17e0b00327
commit
8b0df45333
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You 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.
|
||||
*/
|
||||
package org.apache.activemq.web.controller;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.apache.activemq.broker.jmx.JobSchedulerViewMBean;
|
||||
import org.apache.activemq.web.BrokerFacade;
|
||||
import org.apache.activemq.web.DestinationFacade;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.Controller;
|
||||
|
||||
/**
|
||||
* @version $Revision: 700405 $
|
||||
*/
|
||||
public class DeleteJob extends DestinationFacade implements Controller {
|
||||
private String jobId;
|
||||
private static final Log LOG = LogFactory.getLog(DeleteJob.class);
|
||||
|
||||
public DeleteJob(BrokerFacade brokerFacade) {
|
||||
super(brokerFacade);
|
||||
}
|
||||
|
||||
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
if (jobId != null) {
|
||||
JobSchedulerViewMBean jobScheduler = getBrokerFacade().getJobScheduler();
|
||||
if (jobScheduler != null) {
|
||||
jobScheduler.removeJob(jobId);
|
||||
LOG.info("Removed scheduled Job " + jobId);
|
||||
} else {
|
||||
LOG.warn("Scheduler not configured");
|
||||
}
|
||||
}
|
||||
return new ModelAndView("redirect:scheduled.jsp");
|
||||
}
|
||||
|
||||
public String getJobId() {
|
||||
return jobId;
|
||||
}
|
||||
|
||||
public void setJobId(String id) {
|
||||
this.jobId=id;
|
||||
}
|
||||
|
||||
}
|
|
@ -35,6 +35,7 @@
|
|||
<bean name="/deleteMessage.action" class="org.apache.activemq.web.controller.DeleteMessage" autowire="constructor" singleton="false"/>
|
||||
<bean name="/copyMessage.action" class="org.apache.activemq.web.controller.CopyMessage" autowire="constructor" singleton="false"/>
|
||||
<bean name="/moveMessage.action" class="org.apache.activemq.web.controller.MoveMessage" autowire="constructor" singleton="false"/>
|
||||
<bean name="/deleteJob.action" class="org.apache.activemq.web.controller.DeleteJob" autowire="constructor" singleton="false"/>
|
||||
|
||||
<!--
|
||||
- This bean resolves specific types of exception to corresponding error views.
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<script type='text/javascript' src='<c:url value="/js/css.js"/>'></script>
|
||||
<script type='text/javascript' src='<c:url value="/js/standardista-table-sorting.js"/>'></script>
|
||||
<script type='text/javascript' src='<c:url value="/js/prettify.js"/>'></script>
|
||||
<script>addEvent(window, 'load', function (event) { prettyPrint() })</script>
|
||||
<script>addEvent(window, 'load', prettyPrint)</script>
|
||||
</c:if>
|
||||
|
||||
<decorator:head />
|
||||
|
@ -76,6 +76,8 @@
|
|||
<a href="<c:url value='/subscribers.jsp'/>" title="Subscribers">Subscribers</a>
|
||||
|
|
||||
<a href="<c:url value='/connections.jsp'/>" title="Connections">Connections</a>
|
||||
|
|
||||
<a href="<c:url value='/scheduled.jsp'/>" title="Scheduled">Scheduled</a>
|
||||
|
|
||||
<a href="<c:url value='/send.jsp'/>"
|
||||
title="Send">Send</a>
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
<%--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
--%>
|
||||
<html>
|
||||
<head>
|
||||
<title>Messages Scheduled for Future Delivery</title>
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-top: 5em">
|
||||
<table id="Jobs" class="sortable autostripe">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Job ID</th>
|
||||
<th>Cron Entry</th>
|
||||
<th>next scheduled time</th>
|
||||
<th>start</th>
|
||||
<th>period</th>
|
||||
<th>repeat</th>
|
||||
<th>Operations</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${requestContext.brokerQuery.scheduledJobs}"
|
||||
var="row">
|
||||
<tr>
|
||||
<td>${row.jobId}</td>
|
||||
<td>${row.cronEntry}</td>
|
||||
<td>${row.nextExecutionTime}</td>
|
||||
<td>${row.start}</td>
|
||||
<td>${row.period}</td>
|
||||
<td>${row.repeat}</td>
|
||||
<td>
|
||||
<a href="deleteJob.action?jobId=${row.jobId}">Delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
<label for="JMSDestination">Destination</label>
|
||||
</td>
|
||||
<td>
|
||||
<form:text name="JMSDestination"/>
|
||||
<form:text name="JMSDestination" defaultValue="foo.bar"/>
|
||||
</td>
|
||||
<td class="label">
|
||||
<label for="queue">Queue or Topic</label>
|
||||
|
@ -105,6 +105,34 @@
|
|||
<form:text name="JMSXGroupSeq"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="AMQ_SCHEDULED_START_TIME">Scheduled start(ms)</label>
|
||||
</td>
|
||||
<td>
|
||||
<form:text name="AMQ_SCHEDULED_START_TIME"/>
|
||||
</td>
|
||||
<td class="label">
|
||||
<label for="AMQ_SCHEDULED_PERIOD">Time(ms) to wait before scheduling again</label>
|
||||
</td>
|
||||
<td>
|
||||
<form:text name="AMQ_SCHEDULED_PERIOD"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="AMQ_SCHEDULED_REPEAT">Number of repeats</label>
|
||||
</td>
|
||||
<td>
|
||||
<form:text name="AMQ_SCHEDULED_REPEAT"/>
|
||||
</td>
|
||||
<td class="label">
|
||||
<label for="AMQ_SCHEDULED_CRON">Use a CRON string for scheduling</label>
|
||||
</td>
|
||||
<td>
|
||||
<form:text name="AMQ_SCHEDULED_CRON"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="JMSMessageCount">Number of messages to send</label>
|
||||
|
|
Loading…
Reference in New Issue