public static void main(final String[] args)
{
// --------------------------------------------------------------
// Read the resources once just to confirm that they are correct.
System.out.println("Before First Read...");
readResource("simple-one.bpmn");
readResource("simple-two.bpmn");
System.out.println("After First Read...");
//
---------------------------------------------------------------------------------------
// Launch two different threads at once that will run for "N"
seconds and they each try to
// load a different classpath resource. Eventually, bad things
happen. The BPMN files are
// identical and are very simple (start -> 6 sequential empty script
tasks -> end).
new Thread(new Runnable()
{
public void run()
{
final long startTime = System.currentTimeMillis();
while ((System.currentTimeMillis() - startTime) < (30 *
1000))
{
readResource("simple-one.bpmn");
}
}
}).start();
new Thread(new Runnable()
{
public void run()
{
final long startTime = System.currentTimeMillis();
while ((System.currentTimeMillis() - startTime) < (30 *
1000))
{
readResource("simple-two.bpmn");
}
}
}).start();
}
private static void readResource(final String bpmnFile)
{
final KnowledgeBuilder builder =
KnowledgeBuilderFactory.newKnowledgeBuilder();
final Resource resource =
ResourceFactory.newClassPathResource(bpmnFile, SimpleLoadTest.class);
builder.add(resource, ResourceType.BPMN2);
if (builder.hasErrors())
{
System.out.println(Thread.currentThread().getName() + ": Found
Error(s): " + builder.getErrors().toString());
}
}
--
View this message in context:
http://drools.46999.n3.nabble.com/KnowledgeBuilder-add-Resource-ResourceT...
Sent from the Drools: User forum mailing list archive at
Nabble.com.