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="/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="/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="/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.
|
- 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/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/standardista-table-sorting.js"/>'></script>
|
||||||
<script type='text/javascript' src='<c:url value="/js/prettify.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>
|
</c:if>
|
||||||
|
|
||||||
<decorator:head />
|
<decorator:head />
|
||||||
|
@ -76,6 +76,8 @@
|
||||||
<a href="<c:url value='/subscribers.jsp'/>" title="Subscribers">Subscribers</a>
|
<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='/connections.jsp'/>" title="Connections">Connections</a>
|
||||||
|
|
|
||||||
|
<a href="<c:url value='/scheduled.jsp'/>" title="Scheduled">Scheduled</a>
|
||||||
|
|
|
|
||||||
<a href="<c:url value='/send.jsp'/>"
|
<a href="<c:url value='/send.jsp'/>"
|
||||||
title="Send">Send</a>
|
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>
|
<label for="JMSDestination">Destination</label>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<form:text name="JMSDestination"/>
|
<form:text name="JMSDestination" defaultValue="foo.bar"/>
|
||||||
</td>
|
</td>
|
||||||
<td class="label">
|
<td class="label">
|
||||||
<label for="queue">Queue or Topic</label>
|
<label for="queue">Queue or Topic</label>
|
||||||
|
@ -105,6 +105,34 @@
|
||||||
<form:text name="JMSXGroupSeq"/>
|
<form:text name="JMSXGroupSeq"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</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>
|
<tr>
|
||||||
<td class="label">
|
<td class="label">
|
||||||
<label for="JMSMessageCount">Number of messages to send</label>
|
<label for="JMSMessageCount">Number of messages to send</label>
|
||||||
|
|
Loading…
Reference in New Issue