2013-02-13 2 views
0

Проблема с закрытием Jetty.Внедрение закрытого реактивного шлюза

Я встроенный причал в своем приложении для java. Я запускаю приложение с консоли. Однако всякий раз, когда я нажимаю CONTROL + C, выключение сервера прекращается, но вызывает исключение сокета. Это код для запуска причала сервера

public class WebServerWrapper { 

    private Server server; 
    private SmppServerWrapper sw; 
    /** 
    * 
    */ 
    public WebServerWrapper() { 
     server = new Server(); 
     // Set some default attributes 
     server.setAttribute("org.mortbay.jetty.Request.maxFormContentSize", 0); 
     server.setGracefulShutdown(5000); 
     server.setStopAtShutdown(true);  
    } 

    public WebServerWrapper(int port){ 
     server = new Server(port); 
    } 

    public void setHandler(ContextHandlerCollection contexts) { 
     server.setHandler(contexts); 
    } 

    public void addConnector(Connector connector){ 
     server.addConnector(connector); 
    } 

    public void start() throws Exception { 
     server.start(); 
     server.join();  
    } 

    public void stop() throws Exception { 
     sw = SmppServerWrapper.getInstance(); 
     sw.shutdown(); 
     server.stop(); 
    } 

    public boolean isStarted() { 
     return server.isStarted(); 
    } 

    public boolean isStopped() { 
     return server.isStopped(); 
    } 
} 

This is the method that starts the server 
private static void boostrap() throws Exception { 

     // Load the configuration file 
     if(new UnitySmppPortalConfigDAO().initialize()){ 

      final URL location = WebStartup.class.getClassLoader().getResource(
        WEB_ROOT); 
      final String warUrlString = location.toExternalForm(); 

      WebContextBuilder contextBuilder = new WebContextBuilder(); 
      WebAppContext context = contextBuilder.buildAppContext(); 
      context.setResourceBase(warUrlString); 
      // context.setResourceBase(WEB_ROOT); 
      context.setClassLoader(Thread.currentThread().getContextClassLoader()); 

      // Session Manager 
      SessionHandler sh = new SessionHandler(); 
      context.setSessionHandler(sh); 

      // Set the System property to handle the compilation of the jsp file 
      System.setProperty("org.apache.jasper.compiler.disablejsr199", "true"); 

      // Connector connector = new SelectChannelConnector(); 
      SocketConnector connector = new SocketConnector(); 
      /* 
      * connector.setPort(Integer.parseInt(System.getProperty("jetty.port", 
      * new PropertiesConfiguration("smpp-config.properties") 
      * .getString("http_port").trim()))); 
      */connector.setPort(Integer.parseInt(System.getProperty("jetty.port", 
        PORTAL_PORT))); 

      connector.setMaxIdleTime(60000); 
      connector.setHost("localhost"); 

      ContextHandlerCollection contexts = new ContextHandlerCollection(); 
      contexts.setHandlers(new Handler[] { context }); 

      final WebServerWrapper serverWrapper = new WebServerWrapper(); 
      serverWrapper.addConnector(connector); 
      serverWrapper.setHandler(contexts); 

      logger.info("Starting Jetty Web Container...."); 
      serverWrapper.start(); 
      logger.info("Jetty Web Container running....");   
     } 
     else{ 
      logger.debug("Default Configuration File cannot be loaded"); 
     } 
    } 

Это код ошибки я получил

C:\Users\Arsene\Documents\UnitySmpp>2013-02-13/16:58:40.610 INFO: server.Server - Graceful shutdown [email protected]:74 
2013-02-13/16:58:40.685 INFO: server.Server - Graceful shutdown o.e.j.w.WebAppContext{/smpp,rsrc:com/smsgh/unitysmpp/Portal/} 
2013-02-13/16:58:43.856 DEBUG: http.HttpParser - filled -1/0 
2013-02-13/16:58:43.856 DEBUG: http.HttpParser - filled -1/0 
2013-02-13/16:58:43.856 DEBUG: http.HttpParser - filled -1/0 
2013-02-13/16:58:43.857 DEBUG: server.AbstractHttpConnection - closed [email protected],g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=0,l=0,c=0},r=0 
2013-02-13/16:58:43.858 DEBUG: server.AbstractHttpConnection - closed [email protected],g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=0,l=0,c=0},r=0 
2013-02-13/16:58:43.858 DEBUG: server.AbstractHttpConnection - closed [email protected],g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=0,l=0,c=0},r=0 
2013-02-13/16:58:45.686 DEBUG: component.AbstractLifeCycle - stopping [email protected]:74 
2013-02-13/16:58:45.687 DEBUG: component.AbstractLifeCycle - stopping PooledBuffers [3/[email protected],0/[email protected],0/[email protected]]/PooledBuffers [3/[email protected],3/[email protected],0/[email protected]] 
2013-02-13/16:58:45.687 DEBUG: component.AbstractLifeCycle - STOPPED null/null 
2013-02-13/16:58:45.687 DEBUG: component.AbstractLifeCycle - STOPPED [email protected]:74 
2013-02-13/16:58:45.690 DEBUG: http.HttpParser - 
java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
2013-02-13/16:58:45.694 DEBUG: http.HttpParser - HttpParser{s=-14,l=0,c=-3} 
org.eclipse.jetty.io.EofException 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1041) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     ... 7 more 
2013-02-13/16:58:45.702 DEBUG: bio.SocketConnector - EOF 
org.eclipse.jetty.io.EofException 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1041) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     ... 7 more 
2013-02-13/16:58:45.721 DEBUG: server.AbstractHttpConnection - closed [email protected],g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=0,l=0,c=-3},r=7 
2013-02-13/16:58:45.690 DEBUG: http.HttpParser - 
java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
2013-02-13/16:58:45.738 DEBUG: http.HttpParser - HttpParser{s=-14,l=0,c=-3} 
org.eclipse.jetty.io.EofException 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1041) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     ... 7 more 
2013-02-13/16:58:45.752 DEBUG: bio.SocketConnector - EOF 
org.eclipse.jetty.io.EofException 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1041) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     ... 7 more 
2013-02-13/16:58:45.770 DEBUG: server.AbstractHttpConnection - closed [email protected],g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=0,l=0,c=-3},r=1 
2013-02-13/16:58:45.690 DEBUG: http.HttpParser - 
java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
2013-02-13/16:58:45.691 DEBUG: component.AbstractLifeCycle - stopping [email protected]fb 
2013-02-13/16:58:45.786 DEBUG: http.HttpParser - HttpParser{s=-14,l=0,c=-3} 
org.eclipse.jetty.io.EofException 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1041) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     ... 7 more 
2013-02-13/16:58:45.787 DEBUG: handler.AbstractHandler - stopping [email protected]fb 
2013-02-13/16:58:45.804 DEBUG: bio.SocketConnector - EOF 
org.eclipse.jetty.io.EofException 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1041) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:280) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
     at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.net.SocketException: Socket Closed 
     at java.net.SocketInputStream.socketRead0(Native Method) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at java.net.SocketInputStream.read(Unknown Source) 
     at org.eclipse.jetty.io.ByteArrayBuffer.readFrom(ByteArrayBuffer.java:375) 
     at org.eclipse.jetty.io.bio.StreamEndPoint.fill(StreamEndPoint.java:141) 
     at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.fill(SocketConnector.java:227) 
     at org.eclipse.jetty.http.HttpParser.fill(HttpParser.java:1035) 
     ... 7 more 

Пожалуйста помогите

ответ

0

выход отладки Jetty является очень многословен. вы можете отключить его, используя:

org.mortbay.log.Log.getLog().setDebugEnabled(false); 
+0

Пожалуйста, вы хотите сообщить мне, что это не является отладочным сообщением об исключении? – Arsene