/** * Construct an instance using a {@link ByteArrayLfSerializer} for * non-transparent frames. */ public RFC6587SyslogDeserializer() { this.delimitedDeserializer = new ByteArrayLfSerializer(); }
/** * Return a serializer with the provided max message size for deserialization. * @param maxMessageSize the max message size. * @return a {@link ByteArrayLfSerializer}. * @since 5.1.3 */ public static ByteArrayLfSerializer lf(int maxMessageSize) { ByteArrayLfSerializer codec = new ByteArrayLfSerializer(); codec.setMaxMessageSize(maxMessageSize); return codec; }
/** * Construct an instance using a {@link ByteArrayLfSerializer} for * non-transparent frames. */ public RFC6587SyslogDeserializer() { this.delimitedDeserializer = new ByteArrayLfSerializer(); }
@Bean public Deserializer<?> syslogSourceDecoder() { ByteArrayLfSerializer decoder = new ByteArrayLfSerializer(); decoder.setMaxMessageSize(this.properties.getBufferSize()); if (this.properties.getRfc().equals("5424")) { return new RFC6587SyslogDeserializer(decoder); } else { return decoder; } } }
@Override protected void onInit() { super.onInit(); if (this.connectionFactory == null) { this.connectionFactory = new TcpNioServerConnectionFactory(getPort()); this.connectionFactory.setDeserializer(new ByteArrayLfSerializer()); this.connectionFactory.setBeanFactory(getBeanFactory()); if (this.applicationEventPublisher != null) { this.connectionFactory.setApplicationEventPublisher(this.applicationEventPublisher); } this.connectionFactory.afterPropertiesSet(); } this.connectionFactory.registerListener(this); }
@Bean public Deserializer<?> syslogSourceDecoder() { ByteArrayLfSerializer decoder = new ByteArrayLfSerializer(); decoder.setMaxMessageSize(this.properties.getBufferSize()); if (this.properties.getRfc().equals("5424")) { return new RFC6587SyslogDeserializer(decoder); } else { return decoder; } } }
@Test public void deserializationEvents() throws Exception { doDeserialize(new ByteArrayCrLfSerializer(), "CRLF not found before max message length: 5"); doDeserialize(new ByteArrayLengthHeaderSerializer(), "Message length 1718579042 exceeds max message length: 5"); TcpDeserializationExceptionEvent event = doDeserialize(new ByteArrayLengthHeaderSerializer(), "Stream closed after 3 of 4", new byte[] { 0, 0, 0 }, 5); // closed during header read assertEquals(-1, event.getOffset()); assertEquals(new String(new byte[] { 0, 0, 0 }), new String(event.getBuffer()).substring(0, 3)); event = doDeserialize(new ByteArrayLengthHeaderSerializer(), "Stream closed after 1 of 2", new byte[] { 0, 0, 0, 2, 7 }, 5); // closed during data read assertEquals(-1, event.getOffset()); assertEquals(new String(new byte[] { 7 }), new String(event.getBuffer()).substring(0, 1)); doDeserialize(new ByteArrayLfSerializer(), "Terminator '0xa' not found before max message length: 5"); doDeserialize(new ByteArrayRawSerializer(), "Socket was not closed before max message length: 5"); doDeserialize(new ByteArraySingleTerminatorSerializer((byte) 0xfe), "Terminator '0xfe' not found before max message length: 5"); doDeserialize(new ByteArrayStxEtxSerializer(), "Expected STX to begin message"); event = doDeserialize(new ByteArrayStxEtxSerializer(), "Socket closed during message assembly", new byte[] { 0x02, 0, 0 }, 5); assertEquals(2, event.getOffset()); }
@Override protected void onInit() { super.onInit(); if (this.connectionFactory == null) { this.connectionFactory = new TcpNioServerConnectionFactory(getPort()); this.connectionFactory.setDeserializer(new ByteArrayLfSerializer()); this.connectionFactory.setBeanFactory(getBeanFactory()); if (this.applicationEventPublisher != null) { this.connectionFactory.setApplicationEventPublisher(this.applicationEventPublisher); } this.connectionFactory.afterPropertiesSet(); } this.connectionFactory.registerListener(this); }
break; case LF: codec = new ByteArrayLfSerializer(); break; case NULL:
break; case LF: codec = new ByteArrayLfSerializer(); break; case NULL:
break; case LF: codec = new ByteArrayLfSerializer(); break; case NULL:
break; case LF: codec = new ByteArrayLfSerializer(); break; case NULL: