clusteringutils.java

来自「开源的axis2框架的源码。用于开发WEBSERVER」· Java 代码 · 共 81 行

JAVA
81
字号
/*                                                                              * Copyright 2004,2005 The Apache Software Foundation.                          *                                                                              * Licensed 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.axis2.clustering;import org.apache.axis2.context.ConfigurationContext;import org.apache.axis2.deployment.DeploymentEngine;import org.apache.axis2.description.AxisServiceGroup;import org.apache.axis2.Constants;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import javax.activation.DataHandler;import java.io.File;import java.io.FileOutputStream;import java.net.MalformedURLException;import java.net.URL;import java.util.Random;/** *  A Utility for handling some of the functions needed by the clustering implementation */public class ClusteringUtils {    /**     * Load a ServiceGroup having name <code>serviceGroupName</code>     *     * @param serviceGroupName     * @param configCtx     * @param tempDirectory     * @throws Exception     */    public static void loadServiceGroup(String serviceGroupName,                                        ConfigurationContext configCtx,                                        String tempDirectory) throws Exception {        if (!serviceGroupName.endsWith(".aar")) {            serviceGroupName += ".aar";        }        File serviceArchive;        String axis2Repo = System.getProperty(Constants.AXIS2_REPO);        if (isURL(axis2Repo)) {            DataHandler dh = new DataHandler(new URL(axis2Repo + "services/" + serviceGroupName));            String tempDir =                    tempDirectory + File.separator +                    (System.currentTimeMillis() + new Random().nextDouble());            new File(tempDir).mkdirs();            serviceArchive = new File(tempDir + File.separator + serviceGroupName);            FileOutputStream out = new FileOutputStream(serviceArchive);            dh.writeTo(out);            out.close();        } else {            serviceArchive = new File(axis2Repo + File.separator + "services" +                                      File.separator + serviceGroupName);        }        AxisServiceGroup asGroup =                DeploymentEngine.loadServiceGroup(serviceArchive, configCtx);        configCtx.getAxisConfiguration().addServiceGroup(asGroup);    }    private static boolean isURL(String location) {        try {            new URL(location);            return true;        } catch (MalformedURLException e) {            return false;        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?