01: /*
02: * Copyright 2004-2005 OpenSymphony
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License. You may obtain a copy
06: * of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13: * License for the specific language governing permissions and limitations
14: * under the License.
15: *
16: */
17: package org.quartz.spi;
18:
19: import org.quartz.SchedulerException;
20:
21: /**
22: * <p>
23: * An InstanceIdGenerator is responsible for generating the clusterwide unique
24: * instance id for a <code>Scheduler</code> node.
25: * </p>
26: *
27: * <p>
28: * This interface may be of use to those wishing to have specific control over
29: * the mechanism by which the <code>Scheduler</code> instances in their
30: * application are named.
31: * </p>
32: *
33: * @see org.quartz.simpl.SimpleInstanceIdGenerator
34: */
35: public interface InstanceIdGenerator {
36: /**
37: * Generate the instance id for a <code>Scheduler</code>
38: *
39: * @return The clusterwide unique instance id.
40: */
41: String generateInstanceId() throws SchedulerException;
42: }
|