我需要以下设置。
我已成功将额外的连接器添加到etc / jetty.xml,因此它现在使用端口8080和9090.我还添加了额外的处理程序,所以它现在选择了webaps来自多个目录(dir1 / webapp1和dir2 / webapp2)。
我的问题是:jetty将每个处理程序找到的所有webapps部署到每个连接器(即每个端口),因此 webapp1 和 webapp2 都可以在端口 8080 和 9090 。
我需要一种方法来确保 handler1 (处理dir1 / webapp1)仅指定为 connector1 (侦听端口8080)以及 connector2 < / strong>仅在端口 9090 上选择 handler2 (处理dir2 / webapp2)。
有没有办法实现这个目标?
答案 0 :(得分:11)
Jetty documentation shows two methods.
第一个配置两个独立的服务器实例,并通过在命令行上提供两个配置文件名来启动它们。
第二种方法使用两个连接器的名称,每个应用程序上下文命名它将使用的连接器。
答案 1 :(得分:2)
您基本上将在同一个JVM中创建两个实例。
创建两个.xml文件,并在每个.xml文件中指定:
...
<Set name="port">XXXX</Set>
...
<New id="webAppX" class="org.mortbay.jetty.webapp.WebAppContext">
<Arg><Ref id="Contexts"/></Arg>
<Arg><SystemProperty name="jetty.home"/>/webapps/X</Arg>
<Arg>/webappX</Arg>
...
</New>
...
[确保替换相应xml文件中的X值。]
在同一个JVM中使用两个实例启动Jetty,如下所示:
java -jar start.jar webapp1.xml webapp2.xml
答案 2 :(得分:0)
如果要分离应用程序,为什么不使用两个Jetty安装?