29.2. 运行 Cloud Balancing Hello World


您可以运行示例"hello world"应用来演示解析器。

流程

  1. 下载并配置您首选的 IDE 中的示例。有关在 IDE 中下载和配置示例的步骤,请参考 第 30.1.3 节 “在 IDE 中运行 Red Hat Business Optimizer 示例(IntelliJ、Ecli 或 Netbeans)”
  2. 使用以下主类创建运行配置: org.optaplanner.examples.cloudbalancing.app.CloudBalancingHelloWorld

    默认情况下,Cloud Balancing Hello World 配置为运行 120 秒。

结果

应用程序执行以下代码:

例 29.4. CloudBalancingHelloWorld.java

public class CloudBalancingHelloWorld {

    public static void main(String[] args) {
        // Build the Solver
        SolverFactory<CloudBalance> solverFactory = SolverFactory.createFromXmlResource("org/optaplanner/examples/cloudbalancing/solver/cloudBalancingSolverConfig.xml");
        Solver<CloudBalance> solver = solverFactory.buildSolver();

        // Load a problem with 400 computers and 1200 processes
        CloudBalance unsolvedCloudBalance = new CloudBalancingGenerator().createCloudBalance(400, 1200);

        // Solve the problem
        CloudBalance solvedCloudBalance = solver.solve(unsolvedCloudBalance);

        // Display the result
        System.out.println("\nSolved cloudBalance with 400 computers and 1200 processes:\n" + toDisplayString(solvedCloudBalance));
    }

    ...
}

代码示例执行以下操作:

  1. 根据 解析器 配置构建 Solver (本例中为 XML 文件 cloudBalancingSolverConfig.xml )。

    构建 Solver 是此流程中最复杂的部分。如需了解更多详细信息,请参阅 第 29.3 节 “solver 配置”

            SolverFactory<CloudBalance> solverFactory = SolverFactory.createFromXmlResource(
                    "org/optaplanner/examples/cloudbalancing/solver/cloudBalancingSolverConfig.xml");
            Solver solver<CloudBalance> = solverFactory.buildSolver();
  2. 加载问题。

    CloudBalancingGenerator 生成一个随机问题:您将替换为加载实际问题的类,例如从数据库中。

            CloudBalance unsolvedCloudBalance = new CloudBalancingGenerator().createCloudBalance(400, 1200);
  3. 解决问题。

            CloudBalance solvedCloudBalance = solver.solve(unsolvedCloudBalance);
  4. 显示结果。

            System.out.println("\nSolved cloudBalance with 400 computers and 1200 processes:\n"
                    + toDisplayString(solvedCloudBalance));
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部