在我们对使用长耳兔的应用程序进行了一些性能测试后,我们遇到了并发修改jackrabbit存储库的巨大问题.当我们在多线程仿真中添加节点或编辑它们时会出现问题.然后我写了一个非常简单的测试,它告诉我们问题不在我们的环境中.
有它:
简单的无状态Bean
@Stateless
@Local(TestFacadeLocal.class)
@Remote(TestFacadeRemote.class)
public class TestFacadeBean implements TestFacadeRemote, TestFacadeLocal {
public void doAction(int name) throws Exception {
new TestSynch().doAction(name);
}
}
简单的课程
public class TestSynch {
public void doAction(int name) throws Exception {
Session session = ((Repository) new InitialContext().
lookup("java:jcr/local")).login(
new SimpleCredentials("username", "pwd".toCharArray()));
List added = new ArrayList();
Node folder = session.getRootNode().getNode("test");
for (int i = 0; i <= 100; i++) {
Node child = folder.addNode("" + System.currentTimeMillis(),
"nt:folder");
child.addMixin("mix:versionable");
added.add(child);
}
// saving butch changes
session.save(); …