Hi,
i am developing a tool which connects to splunk and runs a search with SID.
if i have SID and want to get the results through java sdk using SID as input. How can i achieve this?
Thanks for the reply. it worked for me
Here is a code example for you.Verified it working against Splunk 6 using Java SDK version 1.2 running from Eclipse , JRE 1.6.
public static void getJobResults(String sid){
ServiceArgs connectionArgs = new ServiceArgs();
connectionArgs.setHost("yourhost");
connectionArgs.setUsername("someuser");
connectionArgs.setPassword("somepass");
connectionArgs.setPort(8089);
Service splunkService = Service.connect(connectionArgs);
JobCollection jobs = splunkService.getJobs();
Job job = jobs.get(sid);
while (!job.isDone()) {
try {
Thread.sleep(500);
} catch (Exception e) {
}
}
OutputMode outputMode = OutputMode.JSON;
JobResultsArgs outputArgs = new JobResultsArgs();
outputArgs.setOutputMode(outputMode);
ResultsReader resultsReader = null;
try {
resultsReader = new ResultsReaderJson(job.getResults(outputArgs));
HashMap<String, String> map;
while ((map = resultsReader.getNextEvent()) != null) {
for (String key : map.keySet())
System.out.println(" " + key + " --> " + map.get(key));
}
} catch (Exception e) {/**handle exception**/}
finally{
try {
resultsReader.close();
} catch (Exception e) {/**handle exception**/}
}
}
Thanks for the reply. It worked for me