嵌入jetty--指定connector

一: 前言

          承接上一篇    嵌入jetty--簡單實現  ,在上篇中我們使用默認的connector來處理連接,

這裏我們添加指定的連接方式。


二: 代碼修改

       我們只需要修改下上篇文章中的JettyServer類即可,修改後如下:


package com.netboy.jetty.demo;

import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.nio.SelectChannelConnector;

import com.netboy.jetty.handler.HelloHandler;

/**
 * Hello world!
 *
 */
public class JettyServer 
{
    public static void main( String[] args ) throws Exception
    {   
    	Server jettyServer = new Server(8080);
    	
    	SelectChannelConnector connector = new SelectChannelConnector();
    	connector.setPort(8080);
    	jettyServer.setConnectors(new Connector[] {connector});
    	
    	HelloHandler helloHandler = new HelloHandler();
    	jettyServer.setHandler(helloHandler);
    	System.out.println( "....start jetty server..." );
    	jettyServer.start();
    	jettyServer.join();
        
    }
}


      這裏我們選擇使用select輪詢機制的連接方式。有沒有發現,jetty將處理連接代理給了connector類,而server.setConnector()傳入的參數是一個connector類數組,

顯然,我們可以設置多個connector類對應多個端口,來提供不同的服務。

OK。我們來試試:

   public static void main( String[] args ) throws Exception
    {   
    	Server jettyServer = new Server(8080);
    	
    	SelectChannelConnector connector_0 = new SelectChannelConnector();
    	connector_0.setPort(8080);
    	SelectChannelConnector connector_1 = new SelectChannelConnector();
    	connector_1.setPort(8989);
    	jettyServer.setConnectors(new Connector[] {connector_0, connector_1});
    	
    	HelloHandler helloHandler = new HelloHandler();
    	jettyServer.setHandler(helloHandler);
    	System.out.println( "....start jetty server..." );
    	jettyServer.start();
    	jettyServer.join();
        
    }

三: 運行

http://localhost:8080/    

http://localhost:8989/

四: OK,enjoy it



發佈了41 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章