Добрый день. Трекер отправляет по протоколу Wialon данные черного ящика. Пример: #B#040823;100003;XXXX.XXXXX;N;XXXXX.XXXXX;E;106.23;NA;NA;9;0.89;0;0;;NA;
. Сервер принимает данные даже если это точка с этим же временем, координатами есть. Она дублируется. В истории их появляется две. Она должна игнорироваться или я ошибаюсь?
Файл конфигурации.
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>
<entry key="config.default">./conf/default.xml</entry>
<entry key='logger.enable'>info</entry>
<entry key='logger.level'>fine</entry>
<entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
<entry key='database.url'>jdbc:mysql://traccar_db:3306/traccar?serverTimezone=UTC&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry>
<entry key='filter.enable'>true</entry>
<entry key='filter.distance'>5</entry>
<entry key='filter.skipLimit'>240</entry>
<entry key='filter.zero'>true</entry>
<entry key='filter.duplicate'>true</entry>
<entry key='filter.relative'>true</entry>
<entry key='filter.skipAttributes.enable'>true</entry>
<entry key='filter.skipAttributes'>ignition,alarm,event</entry>
<entry key='report.trip.minimalTripDuration'>120</entry>
<entry key='coordinates.filter'>true</entry>
<entry key='coordinates.minError'>50</entry>
<entry key='coordinates.maxError'>50000</entry>
<entry key='event.motion.speedThreshold'>1.08</entry>
<entry key='processing.copyAttributes.enable'>true</entry>
<entry key='processing.copyAttributes'>ignition</entry>
</properties>
Не должна дублироваться. Мы только по времени проверяем.
Скорее всего из-за вот этого не работает фильтрация у вас:
<entry key='filter.skipAttributes'>ignition,alarm,event</entry>
Отправляю запрос через эмулятор
#D#050823;175244;XXXX.XXXXX;N;XXXXX.XXXXX;E;56;1;1;12;1;0;0;;NA;ignition:3:true
(Я отправляю строковое он сохраняет строковое)
В БД записывает
{"sat":12,"hdop":1.0,"input":"0","output":"0","ignition":"true","distance":556.6,"totalDistance":845985.78,"motion":true}
В логах вылетает
INFO: [T542b1033] error - class java.lang.String cannot be cast to class java.lang.Boolean (java.lang.String and java.lang.Boolean are in module java.base of loader 'bootstrap') - ClassCastException (ExtendedModel:109 < IgnitionEventHandler:51 < BaseEventHandler:38 < ...)
INFO: [T542b1033] disconnected
Соединение разьединяет.
а должно я так понимаю
{"sat":12,"hdop":1.0,"input":"0","output":"0","ignition":true,"distance":556.6,"totalDistance":845985.78,"motion":true}
true без кавычек должно быть. Что не так?
Пробовал
#D#050823;175244;XXXX.XXXXX;N;XXXXX.XXXXX;E;56;1;1;12;1;0;0;;NA;ignition:1:1
#D#050823;175244;XXXX.XXXXX;N;XXXXX.XXXXX;E;56;1;1;12;1;0;0;;NA;ignition:2:1.0
Вы точно актуальную версию используете?
Чтобы заработало вам нужно обновиться.
Спасибо воспользуюсь вашим советом.
Обновил до последней версии и все работает. Спасибо.
Добрый день. Трекер отправляет по протоколу Wialon данные черного ящика. Пример:
#B#040823;100003;XXXX.XXXXX;N;XXXXX.XXXXX;E;106.23;NA;NA;9;0.89;0;0;;NA;
. Сервер принимает данные даже если это точка с этим же временем, координатами есть. Она дублируется. В истории их появляется две. Она должна игнорироваться или я ошибаюсь?Файл конфигурации.
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'> <properties> <entry key="config.default">./conf/default.xml</entry> <entry key='logger.enable'>info</entry> <entry key='logger.level'>fine</entry> <entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry> <entry key='database.url'>jdbc:mysql://traccar_db:3306/traccar?serverTimezone=UTC&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry> <entry key='filter.enable'>true</entry> <entry key='filter.distance'>5</entry> <entry key='filter.skipLimit'>240</entry> <entry key='filter.zero'>true</entry> <entry key='filter.duplicate'>true</entry> <entry key='filter.relative'>true</entry> <entry key='filter.skipAttributes.enable'>true</entry> <entry key='filter.skipAttributes'>ignition,alarm,event</entry> <entry key='report.trip.minimalTripDuration'>120</entry> <entry key='coordinates.filter'>true</entry> <entry key='coordinates.minError'>50</entry> <entry key='coordinates.maxError'>50000</entry> <entry key='event.motion.speedThreshold'>1.08</entry> <entry key='processing.copyAttributes.enable'>true</entry> <entry key='processing.copyAttributes'>ignition</entry> </properties>