Інтеграція Java JMS черги повідомлень з PHP STOMP чергою

Опис задачі
Комунікація PHP<->JAVA через черги повідомлень.
Все частіше приходиться зустрічатись із ситуаціями, коли необхідно інтегрувати різні платформи; наприклад, PHP та Java.
Веб сервіси надають можливість взаємодіяти між платформами. Але така взаємодія є досить обмеженою, оскільки інтегруються тільки сервіси, які можуть викликати методи один одного синхронним чи асинхронним способом. Такі речі, як черги повідомлень (message queues), до останнього часу були досить складними для інтеграції. Черги повідомлень все більше проникають зі світу корпоративних проектів у світ веб проектів, де вони надають досить елегантний шлях для покращення характеристики масштабування проектів. Даний туторіал демонструє як працювати з JMS чергами повідомлень в Java та PHP.


( Читати далі )
  • +6
  • 08 червня 2009, 15:44
  • zenyk
  • 2

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

Туторіал по Spring MVC

Для туторіалу необхіднo наступнe:
Java 5+
Maven 2.0.10 (http://maven.apache.org/)
Eclipse IDE for Java EE 3.4 SR2 (http://www.eclipse.org/downloads/)



( Читати далі )
  • +6
  • 29 травня 2009, 21:19
  • zenyk
  • 2

Apache Tapestry 5.1

Вийшла нова версія популярного компонентно орієнтованого фреймворку Apache Tapestry 5.1.
Нова версія містить велику кількість змін та вдосконалень, покликаних суттєво підвищити швидкодію, зберігаючи зворотню сумісність.

Основні зміни в Tapestry 5.1:


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

Кешування другого рівня в 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. В межах аплікації використовується кілька наборів даних, які рідко змінюються. Декотрі дані взагалі не змінюються. Витягувати їх із бази даних кожен раз виходить доволі накладно і навіть довго. Після використання кешування, на звичайній машині різниця почала відмічатися одразу ж.


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

Spring Framework 3.0 M3

Вийшов третій майлстоун Spring Framework 3.0 M3

Головні зміни у новій версії:
  • Документація — від тепер документація у формі PDF/HTML файлів є включеною в дистрибутив

  • Анотовані методи фабрики — ядро функціональності Spring JavaConfig відтепер є включеним в Spring

  • Нові анотації — @Bean @Primary @Lazy

  • Розширення підтримки мета-анотацій

  • Новий фасад для планованих задач TaskScheduler

  • Нове SPI для перетворення типів та нове API для конвертора



З завершенням розробки цієї версії команда приступає до Spring 3.0 RC1 яка вийде в червні.

Оригінальне повідомлення з сайту розробників.
  • +4
  • 19 травня 2009, 12:52
  • mari
  • 4

SpringFuse

SpringFuse це продовження ідей закладених в таких проектах як AppFuse.
Продукт відноситься до класу генераторів коду. Особливістю SpringFuse є концентрація на коректності архітектури та додаткова увага до зв'язків сутностей. Це означає що після генерування проекту розробники будуть в більшості випадків тільки дописувати нову функціональність без виправляння вже згенерованого коду.


( Читати далі )
  • +2
  • 13 травня 2009, 21:17
  • mux
  • 2

Релізання в Maven 2

Для того щоб працював додаток maven-release-plugin необхідно щоб POM файл містив коректну секцію <scm>, та щоб не було ніяких незакомічених файлів.

Тестовий запуск щоб перевірити що буде модифіковано:


mvn release:prepare -DdryRun=true


Якщо все в порядку можна приступати до релізання:


mvn release:clean release:prepare


Ця команда закомітить тег з не снепшот версією, інкрементує версію артефакта і закомітить її.

Щоб завершити реліз необхідно завантажити артефакт на репозиторій:


mvn release:perform


Ця команда по суті викликає deploy та site-deploy.

Якщо наприклад необхідно виконати реліз без проміжного виконування модульних тестів то слід виконати наступну команду:


mvn release:clean release:prepare -DpreparationGoals=clean
  • +3
  • 13 травня 2009, 21:13
  • mux
  • 4