jPOS logger: добавить регистратор в упаковщик

Я внедряю ATM Simulator, который принимает сообщение ISO8583 от клиента и распаковывает его с помощью библиотеки jPOS. Ошибка, возникшая при распаковке моего сообщения: "ошибка при распаковке поля 102: отрицательное исключение размера" . Я исследовал эту ошибку и подумал о том, чтобы добавить регистратор в мою программу, чтобы при печати я мог получить информацию о том, какие данные поступают в какое поле.
Код, который я включаю в мое существующее Java-приложение, выглядит следующим образом:

Logger logger = new Logger();
logger.addListener (new SimpleLogListener(System.out));
((LogSource)p).setLogger(logger, "debug");// p is my ISOPackger

Это дает мне ошибку компиляции как
1- Конструктор Logger() не определен

2- Метод addListener не определен для типа Logger

3- LogSource не может быть преобразован в тип

Помогите мне в решении этих ошибок. Любая помощь будет оценена. Заранее спасибо.

4 ответа

Относительно этой ошибки "ошибка при распаковке поля 102: исключение отрицательного размера"

Я могу помочь, потому что это случилось со мной.

Проверьте файл iso87cscascii.xml в папке конфигурации, длина каждого поля и тип этого файла должны совпадать с полученным вами сообщением ISO.

Возможно, номер поля в ошибке (102) - это место, где произошла эта ошибка, пожалуйста, проверьте это поле точно, а также проверьте другие поля, чтобы гарантировать, что ошибка не повторится.

Не могли бы вы опубликовать полный класс Java? Я полагаю, вы добавили неверные библиотеки Jpos

1- Конструктор Logger() не определен

Вы используете импорт org.jpos.util.Logger?

2- Метод addListener не определен для типа Logger

Убедитесь, что вы используете именно библиотеку jpos.

Вы, вероятно, не импортируете org.jpos.util.Logger и выбирая какой-то другой Logger.

В jPOS' Logger есть конструктор без аргументов.

Смотрите javadocs здесь: http://jpos.org/doc/javadoc/org/jpos/util/Logger.html

Это случилось со мной. Это был просто конфликт с регистратором SLF4J.

Другие вопросы по тегам