mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-02 17:35:18 +00:00
four really long winded AVM performance and stress tests. This should speed up the continuous build on the wcm branch. The tests should probably be set up to run periodically with other long running exhaustive performance, and stress tests. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4293 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
108 lines
2.8 KiB
Java
108 lines
2.8 KiB
Java
/*
|
|
* Copyright (C) 2006 Alfresco, Inc.
|
|
*
|
|
* Licensed under the Mozilla Public License version 1.1
|
|
* with a permitted attribution clause. You may obtain a
|
|
* copy of the License at
|
|
*
|
|
* http://www.alfresco.org/legal/license.txt
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
|
* either express or implied. See the License for the specific
|
|
* language governing permissions and limitations under the
|
|
* License.
|
|
*/
|
|
|
|
package org.alfresco.repo.avm;
|
|
|
|
import org.alfresco.repo.avm.util.BulkLoader;
|
|
|
|
/**
|
|
* This tests loading content simultaneously.
|
|
* @author britt
|
|
*/
|
|
public class SimultaneousLoadTest extends AVMServiceTestBase
|
|
{
|
|
/**
|
|
* Test loading content simultaneously.
|
|
*/
|
|
public void testSimultaneousLoad()
|
|
{
|
|
// try
|
|
// {
|
|
// int n = 1;
|
|
// int m = 1;
|
|
// fReaper.setInactiveBaseSleep(60000);
|
|
// for (int i = 0; i < n; i++)
|
|
// {
|
|
// fService.createDirectory("main:/", "d" + i);
|
|
// }
|
|
// fService.createSnapshot("main", null, null);
|
|
// Thread [] threads = new Thread[n];
|
|
// for (int i = 0; i < n; i++)
|
|
// {
|
|
// Loader loader = new Loader("/Users/britt/stuff/" + i, "main:/d" + i, m);
|
|
// threads[i] = new Thread(loader);
|
|
// threads[i].start();
|
|
// }
|
|
// for (int i = 0; i < n; i++)
|
|
// {
|
|
// threads[i].join();
|
|
// }
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// e.printStackTrace(System.err);
|
|
// fail();
|
|
// }
|
|
}
|
|
|
|
private class Loader implements Runnable
|
|
{
|
|
/**
|
|
* The BulkLoader.
|
|
*/
|
|
private BulkLoader fLoader;
|
|
|
|
/**
|
|
* The source directory.
|
|
*/
|
|
private String fSource;
|
|
|
|
/**
|
|
* The destination path.
|
|
*/
|
|
private String fDestination;
|
|
|
|
/**
|
|
* The number of copies of stuff to make serially.
|
|
*/
|
|
private int fCount;
|
|
|
|
/**
|
|
* Set up.
|
|
* @param source Source directory.
|
|
* @param destination Destination path.
|
|
*/
|
|
public Loader(String source, String destination, int count)
|
|
{
|
|
fLoader = new BulkLoader();
|
|
fLoader.setAvmService(fService);
|
|
fSource = source;
|
|
fDestination = destination;
|
|
fCount = count;
|
|
}
|
|
|
|
public void run()
|
|
{
|
|
for (int i = 0; i < fCount; i++)
|
|
{
|
|
fService.createDirectory(fDestination, "" + i);
|
|
fLoader.recursiveLoad(fSource, fDestination + "/" + i);
|
|
}
|
|
}
|
|
}
|
|
}
|