You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "Robert J. Liguori" <ca...@gliesian.com> on 2011/07/24 20:56:03 UTC

Discussion - example projects coverage of key components

I took a quick-look at what components were covered in the Camel 2.7.3 
example programs.

Coverage includes the following components:

Bean, Context, CXF, CXF Bean, Direct, File, GAuth, GHttp, GTask, 
GMail, HTTP, IRC, JDBC, Jetty, JMS, JMX, JPA, Log, Mail, Mock, RMI, 
RSS, SEDA, Servlet, SFTP, Sip, SMTP, Spring Web Services, Stream, TCP, 
Test, Timer, Velocity, VM and XQuery

I was wondering if anyone felt strongly about having (example project) 
coverage for any of the components that are not currently covered.

(Providing a didn't make a mistake in my searches), here is a list of 
Camel components that currently (as of Camel 2.7.3) are  not covered in 
the example programs:

AHC / camel-ahc
ahc:hostname:[port]
To call external HTTP services using Async Http Client

AMQP / camel-amqp
amqp:[topic:]destinationName
For Messaging with AMQP protocol

APNS / camel-apns
apns:notify[?options]
For sending notifications to Apple iOS devices

Atom / camel-atom
atom:uri
Working with Apache Abdera for atom integration, such as consuming an 
atom feed.

AWS-SNS / camel-aws
aws-sns://topicname[?options]
For Messaging with Amazon's Simple Notification Service (SNS).

AWS-SQS / camel-aws
aws-sqs://queuename[?options]
For Messaging with Amazon's Simple Queue Service (SQS).

AWS-S3 / camel-aws
aws-s3://bucketname[?options]
For working with Amazon's Simple Storage Service (S3).

Bean Validation / camel-bean-validator
bean-validator:something
Validates the payload of a message using the Java Validation API (JSR 
303 and JAXP Validation) and its reference implementation Hibernate 
Validator

Browse / camel-core
browse:someName
Provides a simple BrowsableEndpoint which can be useful for testing, 
visualisation tools or debugging. The exchanges sent to the endpoint 
are all available to be browsed.

Cache / camel-cache
cache://cachename[?options]
The cache component facilitates creation of caching endpoints and 
processors using EHCache as the cache implementation.

Class / camel-core
class:className[?method=someMethod]
Uses the Bean Binding to bind message exchanges to beans in the 
Registry. Is also used for exposing and invoking POJO (Plain Old Java 
Objects).

Cometd / camel-cometd
cometd://host:port/channelname
Used to deliver messages using the jetty cometd implementation of the 
bayeux protocol

Crypto (Digital Signatures) / camel-crypto
crypto:sign:name[?options]
crypto:verify:name[?options]
Used to sign and verify exchanges using the Signature Service of the 
Java Cryptographic Extension.

CXFRS / camel-cxf
cxfrs:address[?resourcesClasses=...]
Working with Apache CXF for REST services integration

DataSet / camel-core
dataset:name
For load & soak testing the DataSet provides a way to create huge 
numbers of messages for sending to Components or asserting that they 
are consumed correctly

DNS / camel-dns
dns:operation
To lookup domain information and run DNS queries using DNSJava

EJB / camel-ejb
ejb:ejbName[?method=someMethod]
Uses the Bean Binding to bind message exchanges to EJBs. It works like 
the Bean component but just for accessing EJBs. Supports EJB 3.0 
onwards.

Event / camel-spring
event://default
spring-event://default
Working with Spring ApplicationEvents

EventAdmin / camel-eventadmin
eventadmin:topic
Receiving OSGi EventAdmin events

Exec / camel-exec
exec://executable[?options]
For executing system commands

Flatpack / camel-flatpack
flatpack:[fixed|delim]:configFile
Processing fixed width or delimited files or messages using the 
FlatPack library

FreeMarker / camel-freemarker
freemarker:someTemplateResource
Generates a response using a FreeMarker template

FTP / camel-ftp
ftp://host[:port]/fileName
Sending and receiving files over FTP.

FTPS / camel-ftp
ftps://host[:port]/fileName
Sending and receiving files over FTP Secure (TLS and SSL).

GLogin / camel-gae
glogin://hostname[:port][?options]
Used by Camel applications outside Google App Engine (GAE) for 
programmatic login to GAE applications. See also Camel Components for 
Google App Engine.

Hazelcast / camel-hazelcast
hazelcast://[type]:cachename[?options]
Hazelcast is a data grid entirely implemented in Java (single jar). 
This component supports map, multimap, seda, queue, set, atomic number 
and simple cluster support.

HDFS / camel-hdfs
hdfs://path[?options]
For reading/writing from/to an HDFS filesystem

HTTP4 / camel-http4
http4://hostname[:port]
For calling out to external HTTP servers using Apache HTTP Client 4.x

iBATIS / camel-ibatis
ibatis://statementName
Performs a query, poll, insert, update or delete in a relational 
database using Apache iBATIS

IMap / camel-mail
imap://hostname[:port]
Receiving email using IMap

JavaSpace / camel-javaspace
javaspace:jini://host?spaceName=mySpace?...
Sending and receiving messages through JavaSpace

JBI / servicemix-camel
jbi:serviceName
For JBI integration such as working with Apache ServiceMix

JCR / camel-jcr
jcr://user:password@repository/path/to/node
Storing a message in a JCR (JSR-170) compliant repository like Apache 
Jackrabbit

JT/400 / camel-jt400
jt400://user:pwd@system/<path_to_dtaq>
For integrating with data queues on an AS/400 (aka System i, IBM i, 
i5, ...) system

Kestrel / camel-kestrel
kestrel://[addresslist/]queuename[?options]
For producing to or consuming from Kestrel queues

Language / camel-core
language://languageName[:script][?options]
Executes Languages scripts

LDAP / camel-ldap
ldap:host[:port]?base=...[&scope=<scope>]
Performing searches on LDAP servers (<scope> must be one of 
object|onelevel|subtree)

Lucene / camel-lucene
lucene:searcherName:insert[?analyzer=<analyzer>]
lucene:searcherName:query[?analyzer=<analyzer>]
Uses Apache Lucene to perform Java-based indexing and full text based 
searches using advanced analysis/tokenization capabilities

MSV / camel-msv
msv:someLocalOrRemoteResource
Validates the payload of a message using the MSV Library

MyBatis / camel-mybatis
mybatis://statementName
Performs a query, poll, insert, update or delete in a relational 
database using MyBatis

Nagios / camel-nagios
nagios://host[:port]?options
Sending passive checks to Nagios using JSendNSCA

Netty / camel-netty
netty:tcp//host[:port]?options
netty:udp//host[:port]?options
Working with TCP and UDP protocols using Java NIO based capabilities 
offered by the JBoss Netty community project

Pax-Logging / camel-paxlogging
paxlogging:appender
Receiving Pax-Logging events in OSGi

POP / camel-mail
pop3://user-info@host:port
Receiving email using POP3 and JavaMail

Printer / camel-printer
lpr://host:port/path/to/printer[?options]
The printer component facilitates creation of printer endpoints to 
local, remote and wireless printers. The endpoints provide the ability 
to print camel directed payloads when utilized on camel routes.

Properties / camel-core
properties://key[?options]
The properties component facilitates using property placeholders 
directly in endpoint uri definitions.

Quartz / camel-quartz
quartz://groupName/timerName
Provides a scheduled delivery of messages using the Quartz scheduler

Quickfix / camel-quickfix
quickfix-server:config file
quickfix-client:config-file
Implementation of the QuickFix for Java engine which allow to 
send/receive FIX messages

Ref / camel-core
ref:name
Component for lookup of existing endpoints bound in the Registry.

Restlet / camel-restlet
restlet:restletUrl[?options]
Component for consuming and producing Restful resources using Restlet

RNC / camel-jing
rnc:/relativeOrAbsoluteUri
Validates the payload of a message using RelaxNG Compact Syntax

RNG / camel-jing
rng:/relativeOrAbsoluteUri
Validates the payload of a message using RelaxNG

Routebox / camel-routebox
routebox:routeboxName[?options]
Facilitates the creation of specialized endpoints that offer 
encapsulation and a strategy/map based indirection service to a 
collection of camel routes hosted in an automatically created or user 
injected camel context

SFTP / camel-ftp
sftp://host[:port]/fileName
Sending and receiving files over SFTP (FTP over SSH).

Sip / camel-sip
sip://user@host[:port]?[options]
sips://user@host[:port]?[options]
Publish/Subscribe communication capability using the Telecom SIP 
protocol. RFC3903 - Session Initiation Protocol (SIP) Extension for 
Event

SMPP / camel-smpp
smpp://user-info@host[:port]?options
To send and receive SMS using Short Messaging Service Center using the 
JSMPP library

SNMP / camel-snmp
snmp://host[:port]?options
Polling OID values and receiving traps using SNMP via SNMP4J library

SpringIntegration / camel-spring-integration
spring-integration:defaultChannelName
The bridge component of Camel and Spring Integration

SQL / camel-sql
sql:select * from table where id=#
Performing SQL queries using JDBC

StringTemplate / camel-stringtemplate
string-template:someTemplateResource
Generates a response using a String Template

Test / camel-spring
test:expectedMessagesEndpointUri
Creates a Mock endpoint which expects to receive all the message 
bodies that could be polled from the given underlying endpoint

UDP / camel-mina
mina:udp://host:port
Working with UDP protocols using Apache MINA

Validation / camel-spring
validation:someLocalOrRemoteResource
Validates the payload of a message using XML Schema and JAXP 
Validation

XMPP / camel-xmpp
xmpp://host:port/room
Working with XMPP and Jabber

XSLT / camel-spring
xslt:someTemplateResource
Generates a response using an XSLT template

--
Sincerely,
Robert J. Liguori
STG Technologies, Inc.


Re: Discussion - example projects coverage of key components

Posted by Willem Jiang <wi...@gmail.com>.
There are some components need addition Service to run (such as APNS, 
AWS*). It's not easy to provide example for these components.

Anyway, we could add more examples for the other key components :)

Willem
On 7/25/11 2:56 AM, Robert J. Liguori wrote:
> I took a quick-look at what components were covered in the Camel 2.7.3
> example programs.
>
> Coverage includes the following components:
>
> Bean, Context, CXF, CXF Bean, Direct, File, GAuth, GHttp, GTask, GMail,
> HTTP, IRC, JDBC, Jetty, JMS, JMX, JPA, Log, Mail, Mock, RMI, RSS, SEDA,
> Servlet, SFTP, Sip, SMTP, Spring Web Services, Stream, TCP, Test, Timer,
> Velocity, VM and XQuery
>
> I was wondering if anyone felt strongly about having (example project)
> coverage for any of the components that are not currently covered.
>
> (Providing a didn't make a mistake in my searches), here is a list of
> Camel components that currently (as of Camel 2.7.3) are not covered in
> the example programs:
>
> AHC / camel-ahc
> ahc:hostname:[port]
> To call external HTTP services using Async Http Client
>
> AMQP / camel-amqp
> amqp:[topic:]destinationName
> For Messaging with AMQP protocol
>
> APNS / camel-apns
> apns:notify[?options]
> For sending notifications to Apple iOS devices
>
> Atom / camel-atom
> atom:uri
> Working with Apache Abdera for atom integration, such as consuming an
> atom feed.
>
> AWS-SNS / camel-aws
> aws-sns://topicname[?options]
> For Messaging with Amazon's Simple Notification Service (SNS).
>
> AWS-SQS / camel-aws
> aws-sqs://queuename[?options]
> For Messaging with Amazon's Simple Queue Service (SQS).
>
> AWS-S3 / camel-aws
> aws-s3://bucketname[?options]
> For working with Amazon's Simple Storage Service (S3).
>
> Bean Validation / camel-bean-validator
> bean-validator:something
> Validates the payload of a message using the Java Validation API (JSR
> 303 and JAXP Validation) and its reference implementation Hibernate
> Validator
>
> Browse / camel-core
> browse:someName
> Provides a simple BrowsableEndpoint which can be useful for testing,
> visualisation tools or debugging. The exchanges sent to the endpoint are
> all available to be browsed.
>
> Cache / camel-cache
> cache://cachename[?options]
> The cache component facilitates creation of caching endpoints and
> processors using EHCache as the cache implementation.
>
> Class / camel-core
> class:className[?method=someMethod]
> Uses the Bean Binding to bind message exchanges to beans in the
> Registry. Is also used for exposing and invoking POJO (Plain Old Java
> Objects).
>
> Cometd / camel-cometd
> cometd://host:port/channelname
> Used to deliver messages using the jetty cometd implementation of the
> bayeux protocol
>
> Crypto (Digital Signatures) / camel-crypto
> crypto:sign:name[?options]
> crypto:verify:name[?options]
> Used to sign and verify exchanges using the Signature Service of the
> Java Cryptographic Extension.
>
> CXFRS / camel-cxf
> cxfrs:address[?resourcesClasses=...]
> Working with Apache CXF for REST services integration
>
> DataSet / camel-core
> dataset:name
> For load & soak testing the DataSet provides a way to create huge
> numbers of messages for sending to Components or asserting that they are
> consumed correctly
>
> DNS / camel-dns
> dns:operation
> To lookup domain information and run DNS queries using DNSJava
>
> EJB / camel-ejb
> ejb:ejbName[?method=someMethod]
> Uses the Bean Binding to bind message exchanges to EJBs. It works like
> the Bean component but just for accessing EJBs. Supports EJB 3.0 onwards.
>
> Event / camel-spring
> event://default
> spring-event://default
> Working with Spring ApplicationEvents
>
> EventAdmin / camel-eventadmin
> eventadmin:topic
> Receiving OSGi EventAdmin events
>
> Exec / camel-exec
> exec://executable[?options]
> For executing system commands
>
> Flatpack / camel-flatpack
> flatpack:[fixed|delim]:configFile
> Processing fixed width or delimited files or messages using the FlatPack
> library
>
> FreeMarker / camel-freemarker
> freemarker:someTemplateResource
> Generates a response using a FreeMarker template
>
> FTP / camel-ftp
> ftp://host[:port]/fileName
> Sending and receiving files over FTP.
>
> FTPS / camel-ftp
> ftps://host[:port]/fileName
> Sending and receiving files over FTP Secure (TLS and SSL).
>
> GLogin / camel-gae
> glogin://hostname[:port][?options]
> Used by Camel applications outside Google App Engine (GAE) for
> programmatic login to GAE applications. See also Camel Components for
> Google App Engine.
>
> Hazelcast / camel-hazelcast
> hazelcast://[type]:cachename[?options]
> Hazelcast is a data grid entirely implemented in Java (single jar). This
> component supports map, multimap, seda, queue, set, atomic number and
> simple cluster support.
>
> HDFS / camel-hdfs
> hdfs://path[?options]
> For reading/writing from/to an HDFS filesystem
>
> HTTP4 / camel-http4
> http4://hostname[:port]
> For calling out to external HTTP servers using Apache HTTP Client 4.x
>
> iBATIS / camel-ibatis
> ibatis://statementName
> Performs a query, poll, insert, update or delete in a relational
> database using Apache iBATIS
>
> IMap / camel-mail
> imap://hostname[:port]
> Receiving email using IMap
>
> JavaSpace / camel-javaspace
> javaspace:jini://host?spaceName=mySpace?...
> Sending and receiving messages through JavaSpace
>
> JBI / servicemix-camel
> jbi:serviceName
> For JBI integration such as working with Apache ServiceMix
>
> JCR / camel-jcr
> jcr://user:password@repository/path/to/node
> Storing a message in a JCR (JSR-170) compliant repository like Apache
> Jackrabbit
>
> JT/400 / camel-jt400
> jt400://user:pwd@system/<path_to_dtaq>
> For integrating with data queues on an AS/400 (aka System i, IBM i, i5,
> ...) system
>
> Kestrel / camel-kestrel
> kestrel://[addresslist/]queuename[?options]
> For producing to or consuming from Kestrel queues
>
> Language / camel-core
> language://languageName[:script][?options]
> Executes Languages scripts
>
> LDAP / camel-ldap
> ldap:host[:port]?base=...[&scope=<scope>]
> Performing searches on LDAP servers (<scope> must be one of
> object|onelevel|subtree)
>
> Lucene / camel-lucene
> lucene:searcherName:insert[?analyzer=<analyzer>]
> lucene:searcherName:query[?analyzer=<analyzer>]
> Uses Apache Lucene to perform Java-based indexing and full text based
> searches using advanced analysis/tokenization capabilities
>
> MSV / camel-msv
> msv:someLocalOrRemoteResource
> Validates the payload of a message using the MSV Library
>
> MyBatis / camel-mybatis
> mybatis://statementName
> Performs a query, poll, insert, update or delete in a relational
> database using MyBatis
>
> Nagios / camel-nagios
> nagios://host[:port]?options
> Sending passive checks to Nagios using JSendNSCA
>
> Netty / camel-netty
> netty:tcp//host[:port]?options
> netty:udp//host[:port]?options
> Working with TCP and UDP protocols using Java NIO based capabilities
> offered by the JBoss Netty community project
>
> Pax-Logging / camel-paxlogging
> paxlogging:appender
> Receiving Pax-Logging events in OSGi
>
> POP / camel-mail
> pop3://user-info@host:port
> Receiving email using POP3 and JavaMail
>
> Printer / camel-printer
> lpr://host:port/path/to/printer[?options]
> The printer component facilitates creation of printer endpoints to
> local, remote and wireless printers. The endpoints provide the ability
> to print camel directed payloads when utilized on camel routes.
>
> Properties / camel-core
> properties://key[?options]
> The properties component facilitates using property placeholders
> directly in endpoint uri definitions.
>
> Quartz / camel-quartz
> quartz://groupName/timerName
> Provides a scheduled delivery of messages using the Quartz scheduler
>
> Quickfix / camel-quickfix
> quickfix-server:config file
> quickfix-client:config-file
> Implementation of the QuickFix for Java engine which allow to
> send/receive FIX messages
>
> Ref / camel-core
> ref:name
> Component for lookup of existing endpoints bound in the Registry.
>
> Restlet / camel-restlet
> restlet:restletUrl[?options]
> Component for consuming and producing Restful resources using Restlet
>
> RNC / camel-jing
> rnc:/relativeOrAbsoluteUri
> Validates the payload of a message using RelaxNG Compact Syntax
>
> RNG / camel-jing
> rng:/relativeOrAbsoluteUri
> Validates the payload of a message using RelaxNG
>
> Routebox / camel-routebox
> routebox:routeboxName[?options]
> Facilitates the creation of specialized endpoints that offer
> encapsulation and a strategy/map based indirection service to a
> collection of camel routes hosted in an automatically created or user
> injected camel context
>
> SFTP / camel-ftp
> sftp://host[:port]/fileName
> Sending and receiving files over SFTP (FTP over SSH).
>
> Sip / camel-sip
> sip://user@host[:port]?[options]
> sips://user@host[:port]?[options]
> Publish/Subscribe communication capability using the Telecom SIP
> protocol. RFC3903 - Session Initiation Protocol (SIP) Extension for Event
>
> SMPP / camel-smpp
> smpp://user-info@host[:port]?options
> To send and receive SMS using Short Messaging Service Center using the
> JSMPP library
>
> SNMP / camel-snmp
> snmp://host[:port]?options
> Polling OID values and receiving traps using SNMP via SNMP4J library
>
> SpringIntegration / camel-spring-integration
> spring-integration:defaultChannelName
> The bridge component of Camel and Spring Integration
>
> SQL / camel-sql
> sql:select * from table where id=#
> Performing SQL queries using JDBC
>
> StringTemplate / camel-stringtemplate
> string-template:someTemplateResource
> Generates a response using a String Template
>
> Test / camel-spring
> test:expectedMessagesEndpointUri
> Creates a Mock endpoint which expects to receive all the message bodies
> that could be polled from the given underlying endpoint
>
> UDP / camel-mina
> mina:udp://host:port
> Working with UDP protocols using Apache MINA
>
> Validation / camel-spring
> validation:someLocalOrRemoteResource
> Validates the payload of a message using XML Schema and JAXP Validation
>
> XMPP / camel-xmpp
> xmpp://host:port/room
> Working with XMPP and Jabber
>
> XSLT / camel-spring
> xslt:someTemplateResource
> Generates a response using an XSLT template
>
> --
> Sincerely,
> Robert J. Liguori
> STG Technologies, Inc.
>
>


-- 
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
          http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang