001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.activemq;
018
019 public interface ScheduledMessage {
020 /**
021 * The time in milliseconds that a message will wait before being scheduled to be
022 * delivered by the broker
023 */
024 public static final String AMQ_SCHEDULED_DELAY = "AMQ_SCHEDULED_DELAY";
025 /**
026 * The time in milliseconds to wait after the start time to wait before scheduling the message again
027 */
028 public static final String AMQ_SCHEDULED_PERIOD = "AMQ_SCHEDULED_PERIOD";
029 /**
030 * The number of times to repeat scheduling a message for delivery
031 */
032 public static final String AMQ_SCHEDULED_REPEAT = "AMQ_SCHEDULED_REPEAT";
033 /**
034 * Use a Cron tab entry to set the schedule
035 */
036 public static final String AMQ_SCHEDULED_CRON = "AMQ_SCHEDULED_CRON";
037 /**
038 * An Id that is assigned to a Scheduled Message, this value is only available once the
039 * Message is scheduled, Messages sent to the Browse Destination or delivered to the
040 * assigned Destination will have this value set.
041 */
042 public static final String AMQ_SCHEDULED_ID = "scheduledJobId";
043
044 /**
045 * Special destination to send Message's to with an assigned "action" that the Scheduler
046 * should perform such as removing a message.
047 */
048 public static final String AMQ_SCHEDULER_MANAGEMENT_DESTINATION = "ActiveMQ.Scheduler.Management";
049 /**
050 * Used to specify that a some operation should be performed on the Scheduled Message,
051 * the Message must have an assigned Id for this action to be taken.
052 */
053 public static final String AMQ_SCHEDULER_ACTION = "AMQ_SCHEDULER_ACTION";
054
055 /**
056 * Indicates that a browse of the Scheduled Messages is being requested.
057 */
058 public static final String AMQ_SCHEDULER_ACTION_BROWSE = "BROWSE";
059 /**
060 * Indicates that a Scheduled Message is to be remove from the Scheduler, the Id of
061 * the scheduled message must be set as a property in order for this action to have
062 * any effect.
063 */
064 public static final String AMQ_SCHEDULER_ACTION_REMOVE = "REMOVE";
065 /**
066 * Indicates that all scheduled Messages should be removed.
067 */
068 public static final String AMQ_SCHEDULER_ACTION_REMOVEALL = "REMOVEALL";
069
070 /**
071 * A property that holds the beginning of the time interval that the specified action should
072 * be applied within. Maps to a long value that specified time in milliseconds since UTC.
073 */
074 public static final String AMQ_SCHEDULER_ACTION_START_TIME = "ACTION_START_TIME";
075 /**
076 * A property that holds the end of the time interval that the specified action should be
077 * applied within. Maps to a long value that specified time in milliseconds since UTC.
078 */
079 public static final String AMQ_SCHEDULER_ACTION_END_TIME = "ACTION_END_TIME";
080
081 }