Странная ошибка при транспортировке мобильного агента - PullRequest
0 голосов
/ 27 января 2012

Я написал код для Мобильности Агента.Он работает нормально с беспроводной связью (через маршрутизатор), но когда я создал беспроводное соединение Ad-Hoc с ноутбуком моего друга, это не удалось.Это ошибка, которую я получил: Jan 27, 2012 12:06:37 PM jade.core.mobility.AgentMobilityService$CommandSourceSi nk handleInformMoved SEVERE: Error creating agent on destination container. Abort transfer. An I/O er ror occurred during de-serialization [nested java.io.InvalidClassException: jade .core.Agent$1; local class incompatible: stream classdesc serialVersionUID = -85 03980205419088695, local class serialVersionUID = -6369687405671300436] Поскольку программа работала нормально с одним сетевым подключением, она не работала с тем же источником на другом компьютере и с другим подключением.

  1. Что означает эта ошибка?Ошибка десерилизации, если таковая возникла в первом случае, также
  2. Является ли тип соединения, т. Е. Ad-Hoc, причиной проблемы?
  3. ИЛИ это из-за кода,который включает команды доступа к файлу, которые вызывают проблему (тогда почему это сработало в первом случае)

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 31 января 2012

Я думаю, что serialVersionUID сериализованного объекта отличается от класса в другой JVM.Для этого дайте некоторое фиксированное значение Long.Если вы используете eclipse, то добавьте сгенерированный серийный идентификатор для каждого класса, который реализует Serializable.Очистите и перестройте исходный код.Если вы просто используете командную строку, выполните

serialver "AgentClass"

, используйте сгенерированное из нее значение и перекомпилируйте исходный код.

...