вторник, 26 апреля 2011 г.

Формирование MapMessage с помощью JMS адаптера Oracle SOA Suite


MapMessage является наиболее простым для разбора типом JMS-сообщения. Действительно, сообщение данного типа содержит лишь пары ключ - значение и не требует, например, парсинга XML или битовых преобразований для доступа к содержимому. Поэтому неудивительно, что такой формат сообщений завоевал определенную популярность среди Java-разработчиков. JMS-адаптер Oracle SOA Suite позволяет работать с данным типом сообщений. В заметке мы рассмотрим процесс создания MapMessage с помощью этого адаптера.

понедельник, 25 апреля 2011 г.

Получение текущих даты/времени с миллисекундами в Oracle SOA Suite


Oracle BPEL - составная часть Oracle SOA Suite - содержит функцию xp20:current-dateTime(), возвращающую текущую дату и время в формате ISO (пространство имен xp20 соответствует http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20). Однако, данная функция возвращает время с точностью до секунды, т.е. без миллисекунд, которые зачастую бывают нужны. Таким образом возникает задача получения строки, представляющей собой текущие дату и время в формате ISO с точностью до миллисекунды.

пятница, 22 апреля 2011 г.

О бедном ThreadLocal замолвите слово


Цитата от Антона Архипова:

Q: что такое ThreadLocal?
A: это Thread, который Local. Ну то есть локальный Thread... лёгковесный... JVM может его круто запускать и использовать меньше памяти...


На собеседованиях есть тенденция спрашивать про ThreadLocal. Как оказалось, далеко не все Java программисты знакомы с данным понятием. В заметке я попробую максимально коротко рассказать про ThreadLocal и поделиться примером его использования.

понедельник, 4 апреля 2011 г.

О динамической настройке адаптеров Oracle SOA Suite


В общем случае среда, в которой тестируется приложение, отличается от среды, в котором оно будет работать. Банальный пример: при тестировании может использоваться другая база данных нежели при промышленной эксплуатации. Так же зачастую бывает необходимо развернуть на одном сервере несколько экземпляров приложения, но настроенных по-разному, например, для ускорения обработки сообщений в SOA-среде может потребоваться пустить поток сообщений через несколько JMS-очередей, обрабатываемых несколькими экземплярами композитного приложения, построенного на платформе Oracle SOA Suite. В данной статье мы рассмотрим как с помощью SOA Suite динамически изменять JNDI-имя используемой очереди сообщений при разворачивании и во время работы композитного приложения.