4

我有的:

在 main 方法中启动嵌入式码头服务器的应用程序。当我需要在服务器上移动它时,我应该制作一个 myApp.jar 并在服务器上启动它。

我想要什么: 不在应用程序内启动嵌入式码头服务器,而是制作 myApp.war 文件并在 Jetty runner 的帮助下启动它

什么问题: 在启动嵌入式服务器之前,我将 WebsocketHandler 设置为我的服务器,然后将 ResourceHandler 设置为 WebsocketHandler(参见下面的代码)。我不知道如何在 jetty runner command 的帮助下传递这些参数

问题:

我可以使用java -jar jetty-runner.jar contexts/my.xml吗?如果是,我该怎么做

我现在怎么做:

public static void main(String[] args) {

WebSocketHandler handler = new WebSocketHandler() {
  @Override
  public void configure(WebSocketServletFactory factory) {
    factory.getPolicy().setMaxMessageSize(4533423);
    factory.getPolicy().setIdleTimeout(Long.MAX_VALUE);
    factory.setCreator(creator);
  }
};
Server server = new Server(8080);
server.setHandler(handler);
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler .setDirectoriesListed(true);
resourceHandler .setResourceBase(WEB_CLIENT_PATH);
handler.setHandler(resourceHandler );
server.start();
server.join();
}
4

1 回答 1

4

如果您需要设置码头,文档中描述了一种方法:

java -jar jetty-runner.jar --config my/jetty.xml my.war

如果不是,是什么contexts/my.xml

于 2013-10-08T12:46:54.337 回答