On 23 June 2014 16:18, Deepak Shetty <shet...@gmail.com> wrote: > Hi > I believe you are missing some jars
BSF only provides the scripting wrapper (as does JSR-223) so you still need to download the appropriate languange implementation. > .. and the documentation for BSF shows > a convoluted version history - try using Beanshell or JSR-223 instead Agreed. Beanshell is bundled with JMeter, and can interpret most Java (not generics). JSR-223 is the modern scripting API; you need to download a language Jar. Start by implementing a very simple script - e.g. just prints to the console. Then build it up. > > On Mon, Jun 23, 2014 at 8:13 AM, Abhijeet Kushe <abhijeet.ku...@gmail.com> > wrote: > >> I am trying to execute Preprocessor written in Java in my Jmeter >> performance but I can getting the below exception while doing so I followed >> the steps in the following >> >> http://heshans.blogspot.com/2014/03/fixing-javalangclassnotfoundexception.html >> . >> >> I have raised this on Stackoverflow. >> >> http://stackoverflow.com/questions/24273262/exception-while-executing-java-in-jmeter >> >> java.io.FileNotFoundException: ./BSFJava4.class (No such file or directory) >> >> at java.io.FileInputStream.open(Native Method) >> at java.io.FileInputStream.<init>(FileInputStream.java:146) >> at java.io.FileInputStream.<init>(FileInputStream.java:101) >> at org.apache.bsf.util.BSFClassLoader.loadClassData(BSFClassLoader.java:65) >> at org.apache.bsf.util.BSFClassLoader.loadClass(BSFClassLoader.java:50) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) >> at org.apache.bsf.util.EngineUtils.loadClass(EngineUtils.java:372) >> at org.apache.bsf.engines.java.JavaEngine.eval(JavaEngine.java:241) >> at org.apache.bsf.util.BSFEngineImpl.exec(BSFEngineImpl.java:141) >> at >> org.apache.jmeter.util.BSFTestElement.processFileOrScript(BSFTestElement.java:101) >> at >> org.apache.jmeter.modifiers.BSFPreProcessor.process(BSFPreProcessor.java:41) >> at >> org.apache.jmeter.threads.JMeterThread.runPreProcessors(JMeterThread.java:749) >> at >> org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:413) >> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) >> at java.lang.Thread.run(Thread.java:745) >> >> unable to load class 'BSFJava4':java.lang.ClassNotFoundException: >> BSFJava4: java.lang.ClassNotFoundException: BSFJava4 >> at java.net.URLClassLoader$1.run(URLClassLoader.java:366) >> >> Here is my code >> >> import java.io.BufferedReader;import java.io.File;import >> java.io.FileReader;import java.io.IOException;import >> java.io.PrintWriter;import java.net.URI;import >> java.net.URISyntaxException;import java.util.ArrayList;import >> java.util.Arrays;import java.util.HashMap;import >> java.util.HashSet;import java.util.List;import java.util.Map;import >> java.util.Set; >> public class SplitRequestLogs{ >> public static void main(String[] args){ >> >> class Group >> { >> String fileName; >> List<String> urls = new ArrayList<String>(); >> Group(String fileName) >> { >> this.fileName = fileName; >> } >> } >> >> Map<Set<String>, Group> params = new HashMap<Set<String>, Group>(); >> >> params.put(new HashSet<String>(Arrays.asList(new String[] { "lat", >> "lng", "radius" })), new Group("6_params_40.csv")); >> params.put(new HashSet<String>(Arrays.asList(new String[] { "lat", >> "lng", "radius", "page_number", "items_per_page" })), new >> Group("5_params_17.csv")); >> params.put(new HashSet<String>(Arrays.asList(new String[] { "lat", >> "lng", "radius", "page_number", "items_per_page", "eligibility_cc", >> "quality_filter" })), new Group("7_params_17.csv")); >> >> try >> { >> >> File dir = new >> File("/Users/akushe/POINT_SRC_CODE/places/perftest/jmeter/v3"); >> File out_dir = new >> File("/Users/akushe/POINT_SRC_CODE/places/perftest/jmeter/v3/files"); >> >> BufferedReader br = new BufferedReader(new FileReader(new >> File(dir, "allRequests.log"))); >> String s = null; >> while ((s = br.readLine()) != null) >> { >> URI url = new URI(s); >> Set<String> paramVal; >> if (url.getQuery() != null && !url.getQuery().isEmpty()) >> { >> paramVal = new HashSet<String> >> (Arrays.asList(url.getQuery().split("&"))); >> } >> else >> { >> paramVal = new >> HashSet<String>(Arrays.asList(url.getPath())); >> } >> for (Set<String> paramsSet : params.keySet()) >> { >> if (paramVal.size() == paramsSet.size()) >> { >> boolean found = true; >> >> for (String param : paramsSet) >> { >> if (!s.contains(param)) >> { >> found = false; >> break; >> } >> } >> >> if (found) >> { >> params.get(paramsSet).urls.add(s); >> break; >> } >> >> } >> } >> >> } >> br.close(); >> >> for (Group group : params.values()) >> { >> List<String> urls = group.urls; >> >> PrintWriter pw = new >> PrintWriter(out_dir.getCanonicalPath() + "/" + group.fileName); >> >> for (String url : urls) >> { >> pw.println(url); >> } >> >> pw.close(); >> } >> } >> catch (IOException e) >> { >> // TODO Auto-generated catch block >> e.printStackTrace(); >> } >> catch (URISyntaxException e) >> { >> // TODO Auto-generated catch block >> e.printStackTrace(); >> }} >> } >> >> >> >> -- >> Thanks & Regards >> Abhijeet S Kushe >> --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@jmeter.apache.org For additional commands, e-mail: user-h...@jmeter.apache.org