NettyPage edited by Ashwin KarpeNetty ComponentAvailable as of Camel 2.3 The netty component in Camel is a socket communication component, based on the JBoss Netty community offering (available under an Apache 2.0 license). Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. Netty greatly simplifies and streamlines network programming such as TCP and UDP socket server. This camel component supports both producer and consumer endpoints. The netty component has several options and allows fine-grained control of a number of TCP/UDP communication parameters (buffer sizes, keepAlives, tcpNoDelay etc) and facilitates both In-Only and In-Out communication on a Camel route. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-netty</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
The consumer mode supports both one-way and request-response based operations. Usage SamplesA UDP Netty endpoint using Request-Reply and serialized object payloadRouteBuilder builder = new RouteBuilder() { public void configure() { from("netty:udp://localhost:5155?sync=true") .process(new Processor() { public void process(Exchange exchange) throws Exception { Poetry poetry = (Poetry) exchange.getIn().getBody(); poetry.setPoet("Dr. Sarojini Naidu"); exchange.getOut().setBody(poetry); } } } }; A TCP based Netty consumer endpoint using One-way communicationRouteBuilder builder = new RouteBuilder() { public void configure() { from("netty:tcp://localhost:5150") .to("mock:result"); } }; An SSL/TCP based Netty consumer endpoint using Request-Reply communicationJndiRegistry registry = new JndiRegistry(createJndiContext()); registry.bind("password", "changeit"); registry.bind("ksf", new File("src/test/resources/keystore.jks")); registry.bind("tsf", new File("src/test/resources/keystore.jks")); context.createRegistry(registry); context.addRoutes(new RouteBuilder() { public void configure() { String netty_ssl_endpoint = "netty:tcp://localhost:5150sync=true&ssl=true&passphrase=#password" + "&keyStoreFile=#ksf&trustStoreFile=#tsf"; String return_string = "When You Go Home, Tell Them Of Us And Say," + "For Your Tomorrow, We Gave Our Today."; from(netty_ssl_endpoint) .process(new Processor() { public void process(Exchange exchange) throws Exception { exchange.getOut().setBody(return_string); } } } }); See Also
Change Notification Preferences
View Online
|
View Change
|
Add Comment
|
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence
- [CONF] Apache Camel > Netty confluence