Слияние кода завершено, страница обновится автоматически
Подключение пуллов для FastDFS
Конфигурация spring.xml
<!-- Конфигурация пула объектов для fdfs -->
<bean id="fdfsGenericObjectPoolConfig" class="org.apache.commons.pool2.impl.GenericObjectPoolConfig">
<property name="maxIdle" value="${fdfs.pool.max_idle}"/>
<property name="maxTotal" value="${fdfs.pool.max_total}"/>
<property name="minIdle" value="${fdfs.pool.min_idle}"/>
<property name="maxWaitMillis" value="${fdfs.pool.max_wait_millis}"/>
</bean>
<!-- Создание пула объектов для fdfs -->
<bean id="fdfsPool" class="com.fdfs.pool.factory.spring.FastfdsPoolFactoryBean" destroy-method="destroy">
<property name="fdfsServerHosts" value="${fdfs.fdfs_server_hosts}"/>
<property name="antiStealToken" value="${fdfs.anti_steal_token}"/>
<property name="secretKey" value="${fdfs.secret_key}"/>
<property name="connectTimeout" value="${fdfs.connect_timeout}"/>
<property name="networkTimeout" value="${fdfs.network_timeout}"/>
<property name="charset" value="${fdfs.charset}"/>
<property name="genericObjectPoolConfig" ref="fdfsGenericObjectPoolConfig"/>
<!-- Эквивалент вызова com.fdfs.util.FdfsUtil.setFdfsPool() -->
<property name="enableFdfsUtil" value="true"/>
</bean>
Пример конфигурационных свойств
fdfs.pool.max_idle=50
fdfs.pool.max_total=100
fdfs.pool.min_idle=20
fdfs.pool.max_wait_millis=5000
fdfs.connect_timeout=3000
fdfs.network_timeout=10000
fdfs.charset=UTF-8
fdfs.anti_steal_token=no
fdfs.secret_key=FastDFS1234567890
fdfs.fdfs_server_hosts=ip1:22122,ip2:22122,ip3:22122
``````markdown
@Test
public void testDelete(){
String fileId = "group1/M00/00/0A/wKjwCldSvzWASFkUAAACAXo-UOE395.txt";
NameValuePair[] metadatas = FdfsUtil.getMetadatas(fileId);
byte[] bytes = FdfsUtil.download(fileId);
System.out.println(bytes != null ? bytes.length : 0);
boolean del = FdfsUtil.deleteFile(fileId);
System.out.println("del=" + del);
bytes = FdfsUtil.download(fileId);
System.out.println(bytes != null ? bytes.length : 0);
}
@Test
public void testUpload() {
System.out.println("--------------start upload--------------");
long startTime = System.currentTimeMillis();
for (int i = 1; i <= 1; i++) {
try {
NameValuePair[] metaList = new NameValuePair[2];
metaList[0] = new NameValuePair("属性1", "1111");
metaList[1] = new NameValuePair("属性2", "2222");
String fileId = FdfsUtil.uploadFile(new byte[i], "txt", null, metaList);
System.out.println(fileId);
//System.out.println(Thread.currentThread().getName() + " active=" + fdfsPool.getNumActive() +
// " idle=" + fdfsPool.getNumIdle() +
// " wait=" + fdfsPool.getNumWaiters() +
// " fileId=" + fileId
//);
} catch (Exception e) {
e.printStackTrace();
}
}
long endTime = System.currentTimeMillis();
System.out.println("cost times >> " + (endTime - startTime));
//try {
// Thread.sleep(10000L);
//} catch (InterruptedException e) {
// e.printStackTrace();
//}
System.out.println(Thread.currentThread().getName() + " active=" + fdfsPool.getNumActive() +
" idle=" + fdfsPool.getNumIdle() +
" wait=" + fdfsPool.getNumWaiters()
);
}
@Test
public void testGetMateInfo(){
String fileId = "G1/M00/02/12/eEyJuFoEGQmAWKTOAAAAAS0C740765.txt";
NameValuePair[] metadatas = FdfsUtil.getMetadatas(fileId);
System.out.println(metadatas);
}
@Test
public void testUploadNotUsePool() throws IOException, MyException {
System.out.println("--------------start upload not use pool --------------");
long startTime = System.currentTimeMillis();
for (int i = 1; i <= 100; i++) {
String fileId = uploadFile(new byte[i], "txt");
/*System.out.println(fileId);
System.out.println(Thread.currentThread().getName() + " active=" + fdfsPool.getNumActive() +
" idle=" + fdfsPool.getNumIdle() +
" wait=" + fdfsPool.getNumWaiters() +
" fileId=" + fileId);*/
}
}
```
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )