Last active
October 4, 2015 21:48
-
-
Save billyyarosh/2705162 to your computer and use it in GitHub Desktop.
controller gist for atmosphere concurrency
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@RequestMapping(value="/twitter/concurrency") | |
@ResponseBody | |
public void twitterAsync(AtmosphereResource atmosphereResource){ | |
final ObjectMapper mapper = new ObjectMapper(); | |
this.suspend(atmosphereResource); | |
final Broadcaster bc = atmosphereResource.getBroadcaster(); | |
logger.info("Atmo Resource Size: " + bc.getAtmosphereResources().size()); | |
bc.scheduleFixedBroadcast(new Callable<String>() { | |
//@Override | |
public String call() throws Exception { | |
//Auth using keaplogik application springMVC-atmosphere-comet-webso key | |
final TwitterTemplate twitterTemplate = | |
new TwitterTemplate("WnLeyhTMjysXbNUd7DLcg", | |
"BhtMjwcDi8noxMc6zWSTtzPqq8AFV170fn9ivNGrc", | |
"537308114-5ByNH4nsTqejcg5b2HNeyuBb3khaQLeNnKDgl8", | |
"7aRrt3MUrnARVvypaSn3ZOKbRhJ5SiFoneahEp2SE"); | |
final SearchParameters parameters = new SearchParameters("world").count(5).sinceId(sinceId).maxId(0); | |
final SearchResults results = twitterTemplate.searchOperations().search(parameters); | |
sinceId = results.getSearchMetadata().getMax_id(); | |
List<TwitterMessage> twitterMessages = new ArrayList<TwitterMessage>(); | |
for (Tweet tweet : results.getTweets()) { | |
twitterMessages.add(new TwitterMessage(tweet.getId(), | |
tweet.getCreatedAt(), | |
tweet.getText(), | |
tweet.getFromUser(), | |
tweet.getProfileImageUrl())); | |
} | |
return mapper.writeValueAsString(twitterMessages); | |
} | |
}, 10, TimeUnit.SECONDS); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment