Skip to content

Instantly share code, notes, and snippets.

View bibryam's full-sized avatar
🏠
Working from home

Bilgin Ibryam bibryam

🏠
Working from home
View GitHub Profile
public class CamelCmisFileUploader extends RouteBuilder {
public void configure() {
from("file:src/demo?noop=true")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.getIn().getHeaders().put(PropertyIds.CONTENT_STREAM_MIME_TYPE, "text/plain; charset=UTF-8");
exchange.getIn().getHeaders().put(PropertyIds.NAME, exchange.getIn().getHeader(Exchange.FILE_NAME));
exchange.getIn().getHeaders().put(CamelCMISConstants.CMIS_FOLDER_PATH, "/demo");
}
@bibryam
bibryam / CamelympicsRoute.java
Created August 2, 2012 11:41
Camel Olympics Image Loader Route
public void configure() throws Exception {
from("twitter://streaming/filter?type=event&keywords=" + searchTerm)
.to("log:tweetStream?level=INFO&groupInterval=60000&groupDelay=60000&groupActiveOnly=false")
.process(new ImageExtractor())
.process(new Statistics())
@bibryam
bibryam / gist:3903194
Created October 17, 2012 01:15 — forked from irpap/gist:3896215
One dimensional game of life
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FunSuite
@RunWith(classOf[JUnitRunner])
class GameOfLifeTest extends FunSuite {
type Rules = ((Int, Int, Int)) => Int
case class TheRules(rules: List[Int]) extends Rules {
@bibryam
bibryam / camel-jmx-monitoring
Created November 12, 2012 12:41
Camel JMX Subscription route
<camel:route>
<camel:from uri="jmx:platform?objectDomain=org.apache.camel&amp;monitorType=counter&amp;differenceMode=false&amp;key.context=MC-SS071464.local/monitorContext&amp;key.type=routes&amp;key.name=%22processingRoute%22&amp;observedAttribute=ExchangesFailed&amp;initThreshold=1&amp;granularityPeriod=5000&amp;offset=1&amp;format=raw"/>
<setHeader headerName="CamelAwsCwMetricName">
<simple>${body.observedAttribute}</simple>
</setHeader>
<setHeader headerName="CamelAwsCwMetricValue">
<simple>${body.derivedGauge}</simple>
</setHeader>
<setHeader headerName="CamelAwsCwMetricUnit">
@bibryam
bibryam / camel-jmx-polling
Created November 12, 2012 14:22
Camel JMX Polling route
<route>
<from uri="timer://jmxMonitoringTimer?fixedRate=true&amp;period=10000"/>
<process ref="jmxMetricReader" />
<camel:to uri="aws-cw://www.livephotostream.com/context?accessKey=XXX&amp;secretKey=XXX"/>
</route>
<?xml version="1.0" encoding="UTF-8"?>
<route>
<from uri="direct:start"/>
<setHeader headerName="CamelRedis.Command">
<constant>SET</constant>
</setHeader>
<setHeader headerName="CamelRedis.Key">
<constant>keyOne</constant>
</setHeader>
<setHeader headerName="CamelRedis.Value">
<bean id="idempotentRepository" class="org.apache.camel.component.redis.processor.idempotent.RedisIdempotentRepository">
<constructor-arg value="test-repo"/>
</bean>
<route>
<from uri="direct:start"/>
<idempotentConsumer messageIdRepositoryRef="idempotentRepository">
<simple>${in.body.id}</simple>
<to uri="mock:result"/>
<?xml version="1.0" encoding="UTF-8"?>
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route startupOrder="1">
<from uri="redis://localhost:6379?command=SUBSCRIBE&amp;channels=testChannel"/>
<to uri="mock:result"/>
</route>
<route startupOrder="2">
<from uri="direct:start"/>
<setHeader headerName="CamelRedis.Command">
@bibryam
bibryam / CamelInfispanTransactional
Created July 27, 2013 09:00
Camel Infispan Transactional Example
<route>
<from uri="restlet:/persons?restletMethod=POST"/>
<transacted/>
<!-- PERSIST TO DB -->
<to uri="sql:insert into person(firstName, lastName) values(:#firstName,:#lastName)?dataSource=#dataSource"/>
<!-- DAMN EXCEPTION THROWER-->
<filter>
<simple>${in.header.lastName} == "damn"</simple>
@bibryam
bibryam / CamelInfinispanProducer
Created July 27, 2013 09:06
Camel Infinispan Producer
<route>
<from uri="direct:orderCache"/>
<setHeader headerName="CamelInfinispanKey">
<simple>${in.header.orderId}</simple>
</setHeader>
<setHeader headerName="CamelInfinispanValue">
<simple>${in.header.orderTotal}</simple>
</setHeader>
<setHeader headerName="CamelInfinispanOperation">
<simple>CamelInfinispanOperationPut</simple>