From 96ca04f7db572d285194db2359c80f3a86e89479 Mon Sep 17 00:00:00 2001 From: wusheng Date: Wed, 11 Nov 2015 14:53:13 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E5=86=85?= =?UTF-8?q?=E5=AD=98=E6=B8=85=E7=90=86=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../skywalking/reciever/CollectionServer.java | 15 ++++++++++----- .../src/main/resources/config.properties | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/CollectionServer.java b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/CollectionServer.java index 9486a3f9d..e3dba4051 100644 --- a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/CollectionServer.java +++ b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/CollectionServer.java @@ -28,7 +28,7 @@ public class CollectionServer { ServerSocketChannel serverSocketChannel = initServerSocketChannel(); DataBufferThread dataBuffer; while (selector.select() > 0) { - Iterator iterator = selector.selectedKeys().iterator(); + Iterator iterator = selector.selectedKeys().iterator(); while (iterator.hasNext()) { SelectionKey key = (SelectionKey) iterator.next(); iterator.remove(); @@ -41,14 +41,19 @@ public class CollectionServer { int length = ByteArrayUtil.byteArrayToInt(contextLengthBuffer.array(), 0); if (length > 0) { ByteBuffer contentBuffer = ByteBuffer.allocate(length); - sc.read(contentBuffer); - dataBuffer = DataBufferThreadContainer.getDataBufferThread(); - dataBuffer.doCarry(new String(contentBuffer.array())); + try{ + sc.read(contentBuffer); + dataBuffer = DataBufferThreadContainer.getDataBufferThread(); + dataBuffer.doCarry(new String(contentBuffer.array())); + }finally{ + contentBuffer.flip(); + } } - contextLengthBuffer.flip(); } catch (IOException e) { logger.error("The remote client disconnect service", e); sc.close(); + }finally{ + contextLengthBuffer.flip(); } } } diff --git a/skywalking-server/src/main/resources/config.properties b/skywalking-server/src/main/resources/config.properties index 453cf4282..25cc38423 100644 --- a/skywalking-server/src/main/resources/config.properties +++ b/skywalking-server/src/main/resources/config.properties @@ -10,7 +10,7 @@ buffer.max_wait_time=5000 #数据冲突时等待时间(单位:毫秒) buffer.data_conflict_wait_time=10 #数据缓存文件目录 -buffer.data_buffer_file_parent_directory=./../data/buffer +buffer.data_buffer_file_parent_directory=/Users/wusheng/Documents/code/github/test-data/buffer #缓存数据文件最大长度(单位:byte) buffer.data_file_max_length=104857600 #每次Flush的缓存数据的个数 @@ -28,7 +28,7 @@ persistence.switch_file_wait_time=5000 persistence.max_append_eof_flags_thread_number=2 #偏移量注册文件的目录 -registerpersistence.register_file_parent_directory=./../data/offset +registerpersistence.register_file_parent_directory=/Users/wusheng/Documents/code/github/test-data/offset #偏移量注册文件名 registerpersistence.register_file_name=offset.txt #偏移量注册备份文件名