API Reference

CamelContext

func NewCamelContext() *CamelContext

Methods

MethodDescription
AddRoute(route *Route)Register a route
AddComponent(name string, component Component)Register a component
CreateEndpoint(uri string) (Endpoint, error)Create endpoint
Start()Start all routes
Stop()Stop all routes
CreateRouteBuilder() *RouteBuilderCreate route builder

RouteBuilder

Source

MethodDescription
From(uri string) *RouteBuilderSet source endpoint

Processing

MethodDescription
To(uri string) *RouteBuilderSend to endpoint
ToD(uri string) *RouteBuilderDynamic destination
Process(p Processor) *RouteBuilderCustom processor
ProcessFunc(fn) *RouteBuilderFunction processor
ProcessRef(name) *RouteBuilderReference from registry
Log(msg string) *RouteBuilderLog static message
LogSimple(expr) *RouteBuilderLog dynamic expression

Message / Exchange Accessors

Common methods available on Message and proxied on Exchange (accessing the In message):

MethodReturnDescription
GetBodyAsString()(string, bool)Body as string
GetBodyAsInt()(int, bool)Body as integer
GetBodyAsBool()(bool, bool)Body as boolean
GetHeaderAsString(k)(string, bool)Header as string
GetHeaderAsInt(k)(int, bool)Header as integer
GetHeaderAsBool(k)(bool, bool)Header as boolean

Registry

Accessible via ctx.GetComponentRegistry():

MethodDescription
Bind(name, value)Register a bean, component or processor
Lookup(name)Retrieve an object by name
Remove(name)Remove an object from registry

EIP Methods

MethodDescription
Choice() *ChoiceBuilderContent router
Split(fn) *SplitBuilderMessage splitter
Aggregate(a) *RouteBuilderMessage aggregator
Multicast() *MulticastBuilderMulti-destination

Headers

MethodDescription
SetHeader(k, v) *RouteBuilderSet header
SetHeaders(m) *RouteBuilderSet multiple headers
RemoveHeader(n) *RouteBuilderRemove header

Body

MethodDescription
SetBody(any) *RouteBuilderSet body
SimpleSetBody(expr) *RouteBuilderExpression body

Data Formats

MethodDescription
Marshal(df) *RouteBuilderMarshal body using a data format
Unmarshal(df) *RouteBuilderUnmarshal body using a data format
MarshalCSV(opts...) *RouteBuilderWrite a structured body as a CSV string
UnmarshalCSV(opts...) *RouteBuilderRead a CSV body as [][]string or []map[string]string with CSVUseMaps(true)

Main CSV options: CSVDelimiter, CSVHeader, CSVSkipHeaderRecord, CSVCaptureHeaderRecord, CSVUseMaps, CSVTrim, CSVIgnoreEmptyLines.

Builder

MethodDescription
SetID(id) *RouteBuilderSet route ID
Build() *RouteBuild route