package com.github.kpavlov.jreactive8583.example.server; import com.github.kpavlov.jreactive8583.server.Iso8583Server; import com.github.kpavlov.jreactive8583.server.ServerConfiguration; import com.solab.iso8583.IsoMessage; import com.solab.iso8583.MessageFactory; import com.solab.iso8583.parse.ConfigParser; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.io.IOException; import java.nio.charset.StandardCharsets; @Configuration public class Iso8583ServerConfig { @Value("${iso8583.connection.port}") private int port; @Bean public Iso8583Server<IsoMessage> iso8583Server() throws IOException { final ServerConfiguration configuration = ServerConfiguration.newBuilder() .withLogSensitiveData(false) .build(); return new Iso8583Server<>(port, configuration, serverMessageFactory()); } private MessageFactory<IsoMessage> serverMessageFactory() throws IOException { final MessageFactory<IsoMessage> messageFactory = ConfigParser.createDefault(); messageFactory.setCharacterEncoding(StandardCharsets.US_ASCII.name()); messageFactory.setUseBinaryMessages(false); messageFactory.setAssignDate(true); return messageFactory; } }