org.glassfish.grizzly.Connection Java Examples

The following examples show how to use org.glassfish.grizzly.Connection. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GrizzlyCodecAdapter.java    From dubbo-2.6.5 with Apache License 2.0 6 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext context) throws IOException {
    Connection<?> connection = context.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        ChannelBuffer channelBuffer = ChannelBuffers.dynamicBuffer(1024); // Do not need to close

        Object msg = context.getMessage();
        codec.encode(channel, channelBuffer, msg);

        GrizzlyChannel.removeChannelIfDisconnected(connection);
        Buffer buffer = connection.getTransport().getMemoryManager().allocate(channelBuffer.readableBytes());
        buffer.put(channelBuffer.toByteBuffer());
        buffer.flip();
        buffer.allowBufferDispose(true);
        context.setMessage(buffer);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnected(connection);
    }
    return context.getInvokeAction();
}
 
Example #2
Source File: GrizzlyCodecAdapter.java    From dubbox-hystrix with Apache License 2.0 6 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext context) throws IOException {
    Connection<?> connection = context.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        ChannelBuffer channelBuffer = ChannelBuffers.dynamicBuffer(1024); // 不需要关闭
        
        Object msg = context.getMessage();
        codec.encode(channel, channelBuffer, msg);
        
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
        Buffer buffer = connection.getTransport().getMemoryManager().allocate(channelBuffer.readableBytes());
        buffer.put(channelBuffer.toByteBuffer());
        buffer.flip();
        buffer.allowBufferDispose(true);
        context.setMessage(buffer);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return context.getInvokeAction();
}
 
Example #3
Source File: GrizzlyCodecAdapter.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext context) throws IOException {
    Connection<?> connection = context.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        ChannelBuffer channelBuffer = ChannelBuffers.dynamicBuffer(1024); // 不需要关闭
        
        Object msg = context.getMessage();
        codec.encode(channel, channelBuffer, msg);
        
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
        Buffer buffer = connection.getTransport().getMemoryManager().allocate(channelBuffer.readableBytes());
        buffer.put(channelBuffer.toByteBuffer());
        buffer.flip();
        buffer.allowBufferDispose(true);
        context.setMessage(buffer);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return context.getInvokeAction();
}
 
Example #4
Source File: GrizzlyCodecAdapter.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext context) throws IOException {
    Connection<?> connection = context.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        ChannelBuffer channelBuffer = ChannelBuffers.dynamicBuffer(1024); // 不需要关闭
        
        Object msg = context.getMessage();
        codec.encode(channel, channelBuffer, msg);
        
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
        Buffer buffer = connection.getTransport().getMemoryManager().allocate(channelBuffer.readableBytes());
        buffer.put(channelBuffer.toByteBuffer());
        buffer.flip();
        buffer.allowBufferDispose(true);
        context.setMessage(buffer);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return context.getInvokeAction();
}
 
Example #5
Source File: WeatherServer.java    From training with MIT License 6 votes vote down vote up
public static void start(int port) throws IOException {
	String baseUrl = "http://localhost:"+port+"/";
	System.out.println("Starting Weather App local testing server: " + baseUrl);
	System.out.println("Not for production use");

	final ResourceConfig resourceConfig = new ResourceConfig();
	resourceConfig.register(RestWeatherCollectorEndpoint.class);
	resourceConfig.register(RestWeatherQueryEndpoint.class);
	resourceConfig.register(GenericExceptionMapper.class);
	resourceConfig.register(new MyApplicationBinder());
	server = GrizzlyHttpServerFactory.createHttpServer(URI.create(baseUrl), resourceConfig, false);

	HttpServerProbe probe = new HttpServerProbe.Adapter() {
		@Override
		public void onRequestReceiveEvent(HttpServerFilter filter, @SuppressWarnings("rawtypes") Connection connection, Request request) {
			System.out.println(request.getRequestURI());
		}
	};

	server.getServerConfiguration().getMonitoringConfig().getWebServerConfig().addProbes(probe);
	System.out.println(format("Weather Server started.\n url=%s\n", baseUrl));
	server.start();
}
 
Example #6
Source File: GrizzlyCodecAdapter.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext context) throws IOException {
    Connection<?> connection = context.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        ChannelBuffer channelBuffer = ChannelBuffers.dynamicBuffer(1024); // 不需要关闭
        
        Object msg = context.getMessage();
        codec.encode(channel, channelBuffer, msg);
        
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
        Buffer buffer = connection.getTransport().getMemoryManager().allocate(channelBuffer.readableBytes());
        buffer.put(channelBuffer.toByteBuffer());
        buffer.flip();
        buffer.allowBufferDispose(true);
        context.setMessage(buffer);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return context.getInvokeAction();
}
 
Example #7
Source File: GrizzlyHandler.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleClose(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.disconnected(channel);
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #8
Source File: GrizzlyHandler.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleConnect(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.connected(channel);
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #9
Source File: GrizzlyHandler.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleRead(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.received(channel, ctx.getMessage());
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #10
Source File: GrizzlyHandler.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.sent(channel, ctx.getMessage());
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #11
Source File: GrizzlyHandler.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Override
public void exceptionOccurred(FilterChainContext ctx, Throwable error) {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.caught(channel, error);
    } catch (RemotingException e) {
        logger.error("RemotingException on channel " + channel, e);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
}
 
Example #12
Source File: GrizzlyChannel.java    From dubbox with Apache License 2.0 5 votes vote down vote up
/**
 * @param connection
 * @param url
 * @param handler
 */
private GrizzlyChannel(Connection<?> connection, URL url, ChannelHandler handler){
    super(url, handler);
    if (connection == null) {
        throw new IllegalArgumentException("grizzly connection == null");
    }
    this.connection = connection;
}
 
Example #13
Source File: GrizzlyChannel.java    From dubbox with Apache License 2.0 5 votes vote down vote up
static GrizzlyChannel getOrAddChannel(Connection<?> connection, URL url, ChannelHandler handler) {
    if (connection == null) {
        return null;
    }
    GrizzlyChannel ret = ATTRIBUTE.get(connection);
    if (ret == null) {
        ret = new GrizzlyChannel(connection, url, handler);
        if (connection.isOpen()) {
            ATTRIBUTE.set(connection, ret);
        }
    }
    return ret;
}
 
Example #14
Source File: GrizzlyClient.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
protected Channel getChannel() {
    Connection<?> c = connection;
    if (c == null || ! c.isOpen())
        return null;
    return GrizzlyChannel.getOrAddChannel(c, getUrl(), this);
}
 
Example #15
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleConnect(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.connected(channel);
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #16
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleClose(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.disconnected(channel);
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #17
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleRead(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.received(channel, ctx.getMessage());
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #18
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.sent(channel, ctx.getMessage());
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #19
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public void exceptionOccurred(FilterChainContext ctx, Throwable error) {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.caught(channel, error);
    } catch (RemotingException e) {
        logger.error("RemotingException on channel " + channel, e);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
}
 
Example #20
Source File: WeatherServer.java    From training with MIT License 5 votes vote down vote up
public static void main(String[] args) {
    try {
        System.out.println("Starting Weather App local testing server: " + BASE_URL);
        System.out.println("Not for production use");

        final ResourceConfig resourceConfig = new ResourceConfig();
        resourceConfig.register(RestWeatherCollectorEndpoint.class);
        resourceConfig.register(RestWeatherQueryEndpoint.class);
        final HttpServer server = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URL), resourceConfig, false);

        Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
            @Override
            public void run() {
                server.shutdownNow();
            }
        }));

        HttpServerProbe probe = new HttpServerProbe.Adapter() {
            public void onRequestReceiveEvent(HttpServerFilter filter, Connection connection, Request request) {
                System.out.println(request.getRequestURI());
            }
        };

        server.getServerConfiguration().getMonitoringConfig().getWebServerConfig().addProbes(probe);
        System.out.println(format("Weather Server started.\n url=%s\n", BASE_URL));
        server.start();

        Thread.currentThread().join();
    } catch (IOException | InterruptedException ex) {
        Logger.getLogger(WeatherServer.class.getName()).log(Level.SEVERE, null, ex);
    }

}
 
Example #21
Source File: GrizzlyChannel.java    From dubbox with Apache License 2.0 5 votes vote down vote up
/**
 * @param connection
 * @param url
 * @param handler
 */
private GrizzlyChannel(Connection<?> connection, URL url, ChannelHandler handler){
    super(url, handler);
    if (connection == null) {
        throw new IllegalArgumentException("grizzly connection == null");
    }
    this.connection = connection;
}
 
Example #22
Source File: GrizzlyChannel.java    From dubbox with Apache License 2.0 5 votes vote down vote up
static GrizzlyChannel getOrAddChannel(Connection<?> connection, URL url, ChannelHandler handler) {
    if (connection == null) {
        return null;
    }
    GrizzlyChannel ret = ATTRIBUTE.get(connection);
    if (ret == null) {
        ret = new GrizzlyChannel(connection, url, handler);
        if (connection.isOpen()) {
            ATTRIBUTE.set(connection, ret);
        }
    }
    return ret;
}
 
Example #23
Source File: GrizzlyClient.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
protected Channel getChannel() {
    Connection<?> c = connection;
    if (c == null || ! c.isOpen())
        return null;
    return GrizzlyChannel.getOrAddChannel(c, getUrl(), this);
}
 
Example #24
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleConnect(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.connected(channel);
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #25
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleClose(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.disconnected(channel);
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #26
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleRead(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.received(channel, ctx.getMessage());
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #27
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public NextAction handleWrite(FilterChainContext ctx) throws IOException {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.sent(channel, ctx.getMessage());
    } catch (RemotingException e) {
        throw new IOException(StringUtils.toString(e));
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
    return ctx.getInvokeAction();
}
 
Example #28
Source File: GrizzlyHandler.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Override
public void exceptionOccurred(FilterChainContext ctx, Throwable error) {
    Connection<?> connection = ctx.getConnection();
    GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
    try {
        handler.caught(channel, error);
    } catch (RemotingException e) {
        logger.error("RemotingException on channel " + channel, e);
    } finally {
        GrizzlyChannel.removeChannelIfDisconnectd(connection);
    }
}
 
Example #29
Source File: GrizzlyClient.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Override
protected Channel getChannel() {
    Connection<?> c = connection;
    if (c == null || ! c.isOpen())
        return null;
    return GrizzlyChannel.getOrAddChannel(c, getUrl(), this);
}
 
Example #30
Source File: GrizzlyChannel.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
static GrizzlyChannel getOrAddChannel(Connection<?> connection, URL url, ChannelHandler handler) {
    if (connection == null) {
        return null;
    }
    GrizzlyChannel ret = ATTRIBUTE.get(connection);
    if (ret == null) {
        ret = new GrizzlyChannel(connection, url, handler);
        if (connection.isOpen()) {
            ATTRIBUTE.set(connection, ret);
        }
    }
    return ret;
}