Java 当cloud foundry应用程序停止时,如何显示自定义错误页面?

Java 当cloud foundry应用程序停止时,如何显示自定义错误页面?,java,cloud-foundry,pcfdev,Java,Cloud Foundry,Pcfdev,如果停止了cloud foundry应用程序实例,如何显示自定义错误页面?我不想显示默认错误页面(404应用程序不可用)。有没有办法使用路由或CF Java API实现此行为?您在这里看到404的原因是,当您的应用程序停止时,没有任何内容映射到应用程序的路由。这意味着Gorouter在其路由表中没有应用程序使用的路由条目,因此它将返回404(即该路由不存在) 如果你想在应用程序未使用时为你的路线显示一条自定义消息,你会想到几个选项 部署一个小的静态应用程序,可能使用staticfile\u bu

如果停止了cloud foundry应用程序实例,如何显示自定义错误页面?我不想显示默认错误页面(404应用程序不可用)。有没有办法使用路由或CF Java API实现此行为?

您在这里看到404的原因是,当您的应用程序停止时,没有任何内容映射到应用程序的路由。这意味着Gorouter在其路由表中没有应用程序使用的路由条目,因此它将返回404(即该路由不存在)

如果你想在应用程序未使用时为你的路线显示一条自定义消息,你会想到几个选项

  • 部署一个小的静态应用程序,可能使用staticfile\u buildpack或nginx\u buildpack来显示自定义消息

    现在,在停止主应用程序之前,将路由交换到小型静态应用程序(
    cf unmap route
    /
    cf map route
    )。路由仍然存在,因此Gorouter不会返回404,相反,请求将转到您的小型静态应用程序,该应用程序可以返回它想要的任何内容

  • 部署一个小的静态应用程序,可能使用staticfile\u buildpack或nginx\u buildpack来显示自定义消息

    并将其映射到小型静态应用程序。在这种情况下,您不需要将路线取消映射/映射到您的小型静态应用程序

    相反,您可以将通配符路径映射到小型静态应用程序,如
    *.example.com
    。然后你把你的正常路线,如
    www.example.com
    my cool app.example.com
    映射到你的实际应用程序。当实际的应用程序启动并运行时,它的路由更加具体,因此Gorouter将向该应用程序发送流量。当你停止你的主应用程序时,路由将从Gorouter的路由表中删除,因此任何传入的请求都将匹配通配符路由并转到你的小型静态应用程序


  • 您在这里看到404的原因是,当应用程序停止时,没有任何内容映射到应用程序的路由。这意味着Gorouter在其路由表中没有应用程序使用的路由条目,因此它将返回404(即该路由不存在)

    如果你想在应用程序未使用时为你的路线显示一条自定义消息,你会想到几个选项

  • 部署一个小的静态应用程序,可能使用staticfile\u buildpack或nginx\u buildpack来显示自定义消息

    现在,在停止主应用程序之前,将路由交换到小型静态应用程序(
    cf unmap route
    /
    cf map route
    )。路由仍然存在,因此Gorouter不会返回404,相反,请求将转到您的小型静态应用程序,该应用程序可以返回它想要的任何内容

  • 部署一个小的静态应用程序,可能使用staticfile\u buildpack或nginx\u buildpack来显示自定义消息

    并将其映射到小型静态应用程序。在这种情况下,您不需要将路线取消映射/映射到您的小型静态应用程序

    相反,您可以将通配符路径映射到小型静态应用程序,如
    *.example.com
    。然后你把你的正常路线,如
    www.example.com
    my cool app.example.com
    映射到你的实际应用程序。当实际的应用程序启动并运行时,它的路由更加具体,因此Gorouter将向该应用程序发送流量。当你停止你的主应用程序时,路由将从Gorouter的路由表中删除,因此任何传入的请求都将匹配通配符路由并转到你的小型静态应用程序


  • 谢谢你的回复<代码>映射路径可以:)您是否有一个具体的示例来使用CF Java API实现自动化?这是对的吗?->(应用程序id->主应用程序,路由id->应用程序/路由名称,应将其映射到该应用程序/路由名称。)。如果我错了,请纠正我。我认为这是一种选择。我鼓励在CloudFoundry客户端之前查看CloudFoundry操作。操作通常更易于使用。参见示例:非常感谢Daniel!我正在寻找一个使用
    云铸造操作的示例。感谢您的回复<代码>映射路径
    可以:)您是否有一个具体的示例来使用CF Java API实现自动化?这是对的吗?->(应用程序id->主应用程序,路由id->应用程序/路由名称,应将其映射到该应用程序/路由名称。)。如果我错了,请纠正我。我认为这是一种选择。我鼓励在CloudFoundry客户端之前查看CloudFoundry操作。操作通常更易于使用。参见示例:非常感谢Daniel!我正在寻找一个使用
    云铸造操作的示例。