Maven Tips

Вирішив записати декілька корисних речей, з якими доводиться мати часто справу користувачу мавена в повсякденному житті

( Читати далі )
  • +3
  • 06 липня 2009, 23:18
  • ruslan
  • 1

Динамічний репорт в JasperReports

На проекті, над яким я працював десь рік тому, постала задача виконувати динамічну генерацію друкованої версії звіту. На проекті для генерації звітів використовувався JasperReports.
Отже, постали наступні питання
1. Як виконувати динамічну генерацію звіту:
— чи є для цього API,
— чи все-таки генерувати XML, а потім його компілювати?
2. Як передавати дані?


( Читати далі )
  • +3
  • 06 липня 2009, 01:29
  • ruslan
  • 6

OutOfMemoryError: PermGen

Десь кілька місяців тому виявилося, що в проекті, над яким я працюю, знайшлася потворна бага. Відловити її було неможливо. В будь-який момент працювати з програмою ставало неможливо. В логах вивалювалася помилка OutOfMemoryError: PermGen.
Звичайно, я з цим не вперший раз стикаюся, і вирішив спробувати старий добрий спосіб — прописати параметр до Джава машини -XX:MaxPermSize. Отже, прописавши параметр -XX:MaxPerSize=256m, я запустив JBoss. І що? А нічого. Все одно програма вивалювалася… Так само непердбачувано і неочікувано :(.


( Читати далі )
  • +5
  • 01 червня 2009, 10:45
  • ruslan
  • 2

Spring 2.5: використання аннотацій

Про те, що вийшов Spring Framework (www.springframework.org) версії 2.5, я знав вже давно. Читав про нові можливості даної версії, пробував навіть щось трохи. Але то все було просто так, для себе. Недавно появилася можливість побавитися із Spring 2.5 більш глибше. І я з радістю нею скористався.
Основним моментом, який був для мене цікавим — це використання анотацій у доповнення до XML конфігурації. Саме про це я вирішив трохи написати.


( Читати далі )
  • +5
  • 01 червня 2009, 10:31
  • ruslan
  • 2

Кешування другого рівня в Hibernate частина 2

Продовження розповід про кешування другого рівня в Hibernate. Розказується про те, які є реалізації кешу 2го рівня та які слід використовувати при протребі.

Кеш другого рівня в Hibernate може бути підключеним і може бути в межах процесу або кластера. Можуть бути різні реалізації кешу другого рівня, існують кілька вже готових реалізацій на основі готових движків кешування. Але можна реалізувати власний движок і підключити його за допомогою реалізації інтерфейсуorg.hibernate.cache.CacheProvider.



( Читати далі )
  • +7
  • 25 травня 2009, 18:24
  • ruslan
  • 1

Кешування другого рівня в Hibernate частина 1

Є багато способів пришвидшити роботу Hibernate. Одним із них є кешування другого рівня (second level cache).

Для мене він знадобився при оптимізації роботи проекту, який використовує Hibernate 3.2.3. В межах аплікації використовується кілька наборів даних, які рідко змінюються. Декотрі дані взагалі не змінюються. Витягувати їх із бази даних кожен раз виходить доволі накладно і навіть довго. Після використання кешування, на звичайній машині різниця почала відмічатися одразу ж.


( Читати далі )