JBoss - опыт и впечатления

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: JBoss - опыт и впечатления

Re: JBoss - опыт и впечатления

evg » 03 апр 2008, 16:52

Дело не jboss, а в HIbernate (jboss использует их реализацию ejb). В jboss 4.0.5 своих граблей хватает с параллельной модификацией. Мы обошли это ввведением локов в своих кодах. Можно посмотреть здесь.
А что касается сравнения java и c++ ситуация известная: "Знакомая кривая короче незнакомой кривой"

Re: JBoss - опыт и впечатления

evg » 03 апр 2008, 16:34

Пропало сообщение. Или это на проверке?

Re: JBoss - опыт и впечатления

DeeJayC » 30 апр 2007, 12:24

Да так же, как и hashMap. Дело не в том, что использовать. Можно же synchronized написать. Просто если сервер внутри содержит подобные ошибки - это бардак. Сказал бы покруче.

Re: JBoss - опыт и впечатления

Absurd » 20 апр 2007, 17:30

DeeJayC писал(а):imho, и то, и другое. если бы hashmap вываливало ConcurrentModificationException - то и проблема бы не возникла.
А каким способом использовалась ConcurrentHashMap? Я так понял, она не позволяет себя изменять пока все треды не закончили ее читать, и позволяет себя изменять она только одному треду в один момент.

Re: JBoss - опыт и впечатления

DeeJayC » 20 апр 2007, 17:15

imho, и то, и другое. если бы hashmap вываливало ConcurrentModificationException - то и проблема бы не возникла.

Re: JBoss - опыт и впечатления

Absurd » 20 апр 2007, 17:01

Так все же дурь в кривой работе JVM в многопроцессорной среде из-за которой ConcurrentHashMap не обеспечивает атомарность как обещано, или в JBoss? Я не понял.

JBoss - опыт и впечатления

DeeJayC » 20 апр 2007, 15:36

Итак, более-менее разобрались с завалом. Написали мы прогу под JBoss AS 4.0.4, EJB3 в полный рост. Прога протестирована, супер всё работает.

В продукции сервер стал в позу прачки. Я перерыл весь свой код. Везде, где надо и не надо добавил synchronized ( у меня до сих пор все ConcurrentHashMap в synchronized запиханы )

Ошибка была найдена, но пришлось срочно мигрировать на 4.0.5.

Ошибка следующая - EJB3 в JBoss 4.0.4 - дырявый. И в многопроцессорных тачках наблюдается следующий эффект. Один из классов модифицирует HashMap. Можно создать ситуацию, при которой не synchronized HashMap модификация улетает в бесконечный цикл...

Вся эта херня стоила мне дикого количества нервов, и я начинаю сурово разочаровываться в java. Если в плюсах происходит что-то подобное, то происходит - правильно - ACCESS VIOLATION и или core dump. Это нормально, это правильно... Но если прога просто продолжает работать в бесконечном цикле - это БАЙДА!

Вернуться к началу