IRC ComponentThe irc component implements an IRC (Internet Relay Chat) transport. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-irc</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency> URI formatirc:nick@host[:port]/#room[?options] irc:nick@host[:port]?channels=#channel1,#channel2,#channel3[?options] You can append query options to the URI in the following format, ?option=value&option=value&... Options
SSL SupportUsing the JSSE Configuration UtilityAs of Camel 2.9, the IRC component supports SSL/TLS configuration through the Camel JSSE Configuration Utility. This utility greatly decreases the amount of component specific code you need to write and is configurable at the endpoint and component levels. The following examples demonstrate how to use the utility with the IRC component. Programmatic configuration of the endpointKeyStoreParameters ksp = new KeyStoreParameters(); ksp.setResource("/users/home/server/truststore.jks"); ksp.setPassword("keystorePassword"); TrustManagersParameters tmp = new TrustManagersParameters(); tmp.setKeyStore(ksp); SSLContextParameters scp = new SSLContextParameters(); scp.setTrustManagers(tmp); Registry registry = ... registry.bind("sslContextParameters", scp); ... from(...) .to("ircs://camel-prd-user@server:6669/#camel-test?nickname=camel-prd&password=password&sslContextParameters=#sslContextParameters"); Spring DSL based configuration of endpoint
...
<camel:sslContextParameters
id="sslContextParameters">
<camel:trustManagers>
<camel:keyStore
resource="/users/home/server/truststore.jks"
password="keystorePassword"/>
</camel:keyManagers>
</camel:sslContextParameters>...
...
<to uri="ircs://camel-prd-user@server:6669/#camel-test?nickname=camel-prd&password=password&sslContextParameters=#sslContextParameters"/>...
Using the legacy basic configuration optionsYou can also connect to an SSL enabled IRC server, as follows: ircs:host[:port]/#room?username=user&password=pass By default, the IRC transport uses SSLDefaultTrustManager. If you need to provide your own custom trust manager, use the trustManager parameter as follows: ircs:host[:port]/#room?username=user&password=pass&trustManager=#referenceToMyTrustManagerBean Using keysAvailable as of Camel 2.2 Some irc rooms requires you to provide a key to be able to join that channel. The key is just a secret word. For example we join 3 channels where as only channel 1 and 3 uses a key. irc:nick@irc.server.org?channels=#chan1,#chan2,#chan3&keys=chan1Key,,chan3key See Also |