01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */package org.apache.geronimo.kernel.util;
17:
18: import java.util.ArrayList;
19: import java.util.Iterator;
20: import java.util.List;
21: import java.util.Set;
22:
23: import org.apache.geronimo.gbean.AbstractName;
24: import org.apache.geronimo.gbean.AbstractNameQuery;
25: import org.apache.geronimo.kernel.config.ConfigurationManager;
26: import org.apache.geronimo.kernel.config.ConfigurationUtil;
27: import org.apache.geronimo.kernel.config.PersistentConfigurationList;
28: import org.apache.geronimo.kernel.repository.Artifact;
29:
30: /**
31: *
32: * @version $Rev: 476049 $ $Date: 2006-11-17 15:35:17 +1100 (Fri, 17 Nov 2006) $
33: */
34: public class MainBootstrapper extends MainConfigurationBootstrapper {
35:
36: public static void main(String[] args) {
37: int status = main(new MainBootstrapper(), args);
38: System.exit(status);
39: }
40:
41: public void loadPersistentConfigurations() throws Exception {
42: List<Artifact> configs = new ArrayList<Artifact>();
43:
44: AbstractNameQuery query = new AbstractNameQuery(
45: PersistentConfigurationList.class.getName());
46: Set configLists = kernel.listGBeans(query);
47: for (Iterator i = configLists.iterator(); i.hasNext();) {
48: AbstractName configListName = (AbstractName) i.next();
49: configs.addAll((List<Artifact>) kernel.invoke(
50: configListName, "restore"));
51: }
52:
53: ConfigurationManager configurationManager = ConfigurationUtil
54: .getConfigurationManager(kernel);
55: try {
56: for (Artifact config : configs) {
57: configurationManager.loadConfiguration(config);
58: configurationManager.startConfiguration(config);
59: }
60: } finally {
61: ConfigurationUtil.releaseConfigurationManager(kernel,
62: configurationManager);
63: }
64: }
65:
66: }
|