【发布时间】:2013-09-27 11:33:57
【问题描述】:
我有什么:
在 main 方法中启动嵌入式码头服务器的应用程序。当我需要在服务器上移动它时,我应该制作一个 myApp.jar 并在服务器上启动它。
我想要什么: 不要在应用程序内部启动嵌入式码头服务器,而是制作 myApp.war 文件并在 Jetty runner 的帮助下启动它
什么问题: 在启动嵌入式服务器之前,我将 WebsocketHandler 设置为我的服务器,然后将 ResourceHandler 设置为 WebsocketHandler(参见下面的代码)。 我不知道如何在 jetty runner 命令的帮助下传递这些参数。
问题:
我可以使用 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();
}
【问题讨论】:
-
34 条评论和任何评论,尽管有边界期限!请描述一下为什么回答我的问题这么难?
-
建议您简化您的问题。消除 jetty-runner(它是一个没有多少人使用的第 3 方工具,因此您会自动降低获得答案的可能性)。您一次处理了太多主题(嵌入式 + jetty-runner + webappcontext from war + custom handlers)。考虑将问题分解为子问题。
标签: jetty