Строковое не сериализуемое исключение, поступающее для интернированных строк из Wicket Model (в JRockit/Weblogic)

Кажется, что следующее является ошибкой в ​​JRockit или Weblogic, но, возможно, кто-то из этого списка видел это раньше и имеет лучший обходной путь / решение. Мы разрабатываем приложение Wicket для правительственного агентства, которое будет использоваться 15 тысячами пользователей. Приложение будет развернуто в кластере Weblogic, работающем в JRockit и Red Hat. Мы столкнулись со странными исключениями "Объект объекта не сериализуем", поступившими из Модели, и проследили его обратно до интернированных (компилятором) объектов String, становящихся не сериализуемыми после попадания на сервер несколькими сотнями параллельных пользователей. Как только возникает исключение для данной ссылки String, оно продолжает поступать последовательно для этой ссылки. Текущий обходной путь - это пользовательский класс Model, имеющий переопределенный метод setObject, который проверяет объект, является ли он экземпляром Serializable, и если проверка не проходит, он устанавливает новую String(объект) в модели. Это устраняет исключения, но хотелось бы лучшего решения проблемы. Кто-нибудь видел что-нибудь подобное?

1 ответ

Я столкнулся с той же проблемой, используя jrockit R28.0.1-21-133393-1.6.0_20-20100512-2126-linux-x86_64. После некоторого стресса в моем приложении модель калитки жалуется на невозможность сериализации строк. Я не могу воспроизвести ситуацию, используя флаг -Xdebug, чтобы увидеть, что на самом деле передается методу Model.setObject(). Похоже, моя единственная надежда - переключиться обратно на Sun JVM.

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