2

我正在 webapp 上升级树脂,但我不断收到以下错误

              Starting Resin on Tue, 19 Feb 2013 14:46:29 -0800 (PST)

        [13-02-19 14:46:31.640] {main}   Using Resin(R) Open Source under the GNU Public          License (GPL).

                     See http://www.caucho.com for information on Resin Professional,
                     including caching, clustering, JNI acceleration, and OpenSSL  integration.

com.caucho.config.ConfigException: -server 'default' is an unknown server in the            configuration file.
at com.caucho.server.resin.Resin.initTopology(Resin.java:1069)
at com.caucho.server.resin.Resin.initServletSystem(Resin.java:1275)
at com.caucho.server.resin.Resin.configure(Resin.java:997)
at com.caucho.server.resin.Resin.initMain(Resin.java:979)
at com.caucho.server.resin.Resin.main(Resin.java:1437)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
  -server 'default' is an unknown server in the configuration file.

我在哪里可以找到这个默认设置?我没有更改配置中会影响它的任何内容。有任何想法吗?

4

1 回答 1

1

在 Resin 中,您使用的每个 JVM(“服务器”)都有一个名称,因为 Resin 的配置是围绕拥有多个服务器而设计的,即集群。单服务器部署仍然是 Resin 中的集群。它只是一个带有一台服务器的集群。

标准配置旨在正常工作,但如果您有较旧的配置,Resin 可能无法找到您的特定服务器。

如果您的配置有一个命名服务器“a”,但您启动 Resin 时没有指定服务器名称,Resin 将尝试使用默认服务器 (id="")。如果它找不到该服务器,它会抱怨。

如果你用“start-all”而不是“console”来启动Resin,Resin 将启动本地机器上的所有服务器,即任何监听你IP 地址的服务器。这使得配置测试集群或具有多个 Resin 实例的机器变得容易。

> resinctl start-all

在您的 resin.xml 中,您将有一个条目或在 Resin 4 中,一个 .

<resin ...>
  <cluster id="app">
    <server id="" .../>

上面的配置定义了“默认”服务器。

标准 Resin 4 配置使用 server-multi,这意味着服务器被命名为“app-0”,“app-1”,...。

如果以“console”或“start”开头,则需要在命令行中指定“-server app-0”。

> resinctl start -server app-0

在 IDE 中,您可能需要指定服务器。例如添加命令行“-server app-0”。

于 2013-03-05T19:58:09.437 回答