我只想配置jetty來偵聽多個端口。我不想要多個實例,也不需要多個webapps,只需一個jetty,一個webapp,但可以監聽2個或多個端口。如何配置jetty來偵聽多個端口
默認方式不支持多個條目:
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
謝謝您的幫助!
我只想配置jetty來偵聽多個端口。我不想要多個實例,也不需要多個webapps,只需一個jetty,一個webapp,但可以監聽2個或多個端口。如何配置jetty來偵聽多個端口
默認方式不支持多個條目:
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
謝謝您的幫助!
在你的jetty.xml文件,添加一個新的連接器:
<!-- original connector on port 8080 -->
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="8080"/></Set>
<Set name="maxIdleTime">300000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">20000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
<!-- new connector on port 8081 -->
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="8081"/></Set>
<Set name="maxIdleTime">300000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="lowResourcesConnections">20000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
然後開始碼頭
java -jar start.jar etc\jetty.xml
應該做你想要什麼。
對於googliness,我爲solr包做了這個。我認爲solr必須默認設置爲讀取jetty.xml,所以你甚至不必傳入。謝謝! –
我已經做了類似的事情來添加一個端口,但是有可能在那裏插入一個標籤來監視第二個端口的不同路徑嗎? – mautrok
如果在嵌入式模式下使用碼頭,你可以在Java代碼中打開多個端口:
Server server = new Server();
Connector c1 = new SelectChannelConnector();
c1.setPort(8080);
Connector c2 = new SelectChannelConnector();
c2.setPort(8081);
/* ... even more ports ... */
Connector[] ports = {c1, c2 /* ... */};
server.setConnectors(ports);
這是怎麼題外話? – sandris