среда, 21 октября 2009 г.

Как повесить System.exit(0)

Как написано в доках - This method never returns normally...

Вообще хуки они -
They should, in particular, be written to be thread-safe and to avoid deadlocks insofar as possible. They should also not rely blindly upon services that may have registered their own shutdown hooks and therefore may themselves in the process of shutting down. Attempts to use other thread-based services such as the AWT event-dispatch thread, for example, may lead to deadlocks.  

вторник, 20 октября 2009 г.

Java Service Wrapper

Он клёвый и простой.
Можно указывать зависимости от других сервисов. Куча настроек.
Таймауты на запуск/перезапуск и тп.

Как внедрять:

1)Пускач должен наследоваться от 
implements WrapperListener


четверг, 15 октября 2009 г.

Репликация с SymmetricDS

С первого взгляда всё просто, но потом появляются всякие левые ошибки, частично связанные с таймаутами(необходимо неопределённое время на запуск сервера репликации), частично хрен знает с чем.  Все примеры есть во вражеском коде - там типа скрипты, в документации описана последовательность действий для тестов(см глава 2) Вот пример на яве:


среда, 7 октября 2009 г.

Репликация с db4o

Как бы попроще организовать репликацию данных между серверами. Вот в чём вопрос.
db4o(http://www.db4o.com) клёвые. Со своим 
dRS Replication System(http://www.db4o.com/about/productinformation/resources/dRS-6.0-tutorial-java.pdf) они могут реплицировать базы через хибернейт соединения типа


вторник, 6 октября 2009 г.

org.hibernate.AssertionFailure: possible nonthreadsafe access to session

Следствие того что где-то в коде присутствует следующая последовательность

          hibernate.saveOrUpdate(obj);
          ................................................................
          hibernate.evict(obj);
причём эта последовательность находится внутри транзакции(если нет транзакции то между этой последовательностью нету flush())