Simple Camel Configuration of a Twitter Endpoint
Join the DZone community and get the full member experience.
Join For FreeI was asked just how my got the Twitter Stream working in my new Camel based project and how I managed the credentials.
The Twitter endpoint works like a dream and this is essentially what my code looks like. All you need is a secrets.properties file in alongside your java file.
The Twitter endpoint works like a dream and this is essentially what my code looks like. All you need is a secrets.properties file in alongside your java file.
/** * A Camel Java DSL Router */ public class MyRouteBuilder extends RouteBuilder { private static final ResourceBundle SECRETS = ResourceBundle .getBundle("myproject.secrets"); /** * Let's configure the Camel routing rules using Java code... * * @throws UnsupportedEncodingException */ public void configure() throws UnsupportedEncodingException { configureAccess(); String twitter = "twitter://streaming/filter?type=event&keywords=" + URLEncoder.encode("london", "utf8"); from(twitter).filter(body().isInstanceOf(Status.class)).addAllSortsOfStuffHere(). } private void configureAccess() { // setup Twitter component TwitterComponent tc = getContext().getComponent("twitter", TwitterComponent.class); tc.setAccessToken(SECRETS.getString("ACCESS_TOKEN")); tc.setAccessTokenSecret(SECRETS.getString("ACCESS_TOKEN_SECRET")); tc.setConsumerKey(SECRETS.getString("CONSUMER_KEY")); tc.setConsumerSecret(SECRETS.getString("CONSUMER_SECRET")); } }
twitter
Published at DZone with permission of Col Wilson, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments