четверг, августа 30, 2012
среда, августа 08, 2012
Calling Web Services with Apache Camel
Казалось бы, такая простая задача для интеграционной системы как вызов внешнего webservice, для Apache Camel вызывает затруднения. Прольем немного света. Вызов внешнего webservice на Apache Camel реально занимает одну строчку! Возьмем доступный всем открытый сервис погоды:
http://www.webservicex.com/globalweather.asmx?WSDL
Вот как вызвать этот сервис на Camel:
http://www.webservicex.com/globalweather.asmx?WSDL
Вот как вызвать этот сервис на Camel:
from("file:c:/data/inbox3").to("cxf:bean:calculatorWSEndpoint?defaultOperationName=GetWeather").to("file:c:/data/outbox");
Подробности под катом!
понедельник, августа 06, 2012
Apache Camel Message Processing Actions (Like OSB)
Работая в проекте с OSB, я удивился как легко и просто там работать с xml. Модификация сообщения на Oracle Service Bus действительно делается легко и непринужденно c помощью инструменов Assign, Delete, Insert. Как же наш Apache Camel? А вот в нем не все так просто. Но все необходимое у нас есть, попробуем сделать что-то подобное!
понедельник, июля 23, 2012
Minitroopers Train Bot
Для тех кто хочет немного отвлечься, есть замечательная браузерка minitroopers.com
Описание и прочее выкладывать не буду, в интернете информации море. Для тех кто увлекся могут почитать http://minitroopers.wikia.com/wiki/Mini_Troopers_Wiki
Чтобы не тратить драгоценное время на прокачку твинков своей основной армии, я написал простого бота, который отыгрывает за вас.
Описание и прочее выкладывать не буду, в интернете информации море. Для тех кто увлекся могут почитать http://minitroopers.wikia.com/wiki/Mini_Troopers_Wiki
Чтобы не тратить драгоценное время на прокачку твинков своей основной армии, я написал простого бота, который отыгрывает за вас.
- Ежедневные бои. Выбирает первого кандидата из списка. По опыту первый самый слабый, но хотя если и проиграете не страшно.
- Миссия из трех попыток. Если она у вас открыта.
- 5 шагов рейда. Если рейд у твинка больше 5 боев, то на это стоит поглядеть!
Для запуска необходима Java.
java -jar minitroopers.jar
Имена твинков заносятся в файлик minitroopers.property в следующем формате:
URL^login^password
Например:
http://dd-dealer.minitroopers.com^dd-dealer^ddpassword
http://izilla.minitroopers.com
Если ваш твинк запаролен то логин в 99% совпадает с URL, но если у вас это не так, можете посмотреть в браузере какой логин отправляется и записать его в файлик.
Ссылка на бинарник:
Файл с твинками:
Ну и по традиции подобных игр. Добавляйтесь в мою армию!
http://hibernate.minitroopers.com/
Удачи в прокачке!
http://hibernate.minitroopers.com/
Удачи в прокачке!
среда, мая 30, 2012
JDBC Polling Adapter c помощью Apache Camel
В качестве wiki and issue tracking system у нас используется TRAC http://trac.edgewall.org/ Появилась задача мониторинга изменения задач в этой системе. TRAC написан на Python и поддерживает из коробки только один вид нотификации-email. Активность по тикетам в системе должна выгружаться в xml-файл для обработки другой системой. Идеальная задача для Camel ;)
пятница, марта 30, 2012
Блеск и нищета Apache Camel
В этой статье я расскажу про фееричный фейл Apache Camel , на реальной бизнес-задаче.
Возникла задача по обработке 5000000 zip-файлов (O_o). Каждый файлик необходимо распаковать, достать из архива XML файл, распарсить его, и некоторую информацию дописать в лог в определенном формате.
Идеальная задача для 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!
Схема работы приложения следующая:
В соответствующие папки будут кидаться файлики, результат будет формироваться в папке 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);
}
}
Подписаться на:
Сообщения (Atom)