пятница, марта 30, 2012

Блеск и нищета Apache Camel

В этой статье я расскажу про фееричный фейл Apache Camel , на реальной бизнес-задаче.
Возникла задача по обработке 5000000 zip-файлов (O_o). Каждый файлик необходимо распаковать, достать из архива XML файл, распарсить его, и некоторую информацию дописать в лог в определенном формате.

 Идеальная задача для Apache Camel подумал я и бросился в бой!

Файловый интерфейс для Base64 кодирования/декодирования с помощью Apache Camel

Чем мне нравится Apache Camel, так это готовыми компонентами  конечных точек(endpoints) на все случаи жизни. В моей жизни встретилась задача, по Base64 кодированию/декодированию множества файлов.

Схема работы приложения следующая:
В соответствующие папки будут кидаться файлики, результат будет формироваться в папке output:

c://data/encode
c://data/decode

c://data/output

Идеальная задача для Apache Camel!

четверг, марта 29, 2012

Реализация Webservices с использованием Apache Camel и CXF


В этой статье рассмотрим как можно использовать вебсервисы cxf с использованием Apache Camel в качестве транспорта.
Наш роутер будет работать с сообщением как с JAXB Объктом.
Первым делом создадим Maven-проект на основе camel-archetype-java. У вас должен быть установлен соответствующий плагин для Eclipse

суббота, марта 10, 2012

Используем AspectJ для логирования

Как залогировать свой код так, чтобы не превратить его в лапшу? Оптимально хотелось бы вообще не вносить никаких изменений в бизнес логику. Например у нас есть следующий код. Нам надо логировать входные и выходные данные метода  logic.

package com.bssys.aspect;

public class MainApp {

 private String account;

 public String logic(String account) {
  return "Hello:" + account;
 }
 public static void main(String arg[]) {
  MainApp mainApp = new MainApp();
  String request = "O-o";
  String response = mainApp.logic(request);
 }
}