spring集成:如何用传统方式使用fastDFSClient

最近一直在摸索如何使用带有连接池的fastDFS客户端连接,在mvnrepository网站上找到了一个客户端,maven坐标如下:

<dependency>
    <groupId>com.github.tobato</groupId>
    <artifactId>fastdfs-client</artifactId>
    <version>1.25.4-RELEASE</version>
</dependency>

可官方文档上是使用spring-boot来集成的。

费了一些时间终于通过传统xml形式,获取到该客户端中的连接客户端对象。

配置内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--配置扫描包-->
    <context:component-scan base-package="com.github.tobato.fastdfs.service,com.github.tobato.fastdfs.domain"/>
    <!--配置连接管理器-->
    <bean id="trackerConnectionManager" class="com.github.tobato.fastdfs.conn.TrackerConnectionManager">
        <constructor-arg name="pool" ref="fdfsConnectionPool">
        </constructor-arg>
        <!--配置fastDFS tracker 服务器 ip:port 地址-->
        <property name="trackerList">
            <list>
                <value>192.168.24.39:22122</value>
            </list>
        </property>
    </bean>
    <!--配置连接池-->
    <bean id="fdfsConnectionPool" class="com.github.tobato.fastdfs.conn.FdfsConnectionPool">
        <!--注入连接池配置-->
        <constructor-arg name="config" >
            <bean class="com.github.tobato.fastdfs.conn.ConnectionPoolConfig"/>
        </constructor-arg>
        <!--注入连接池工厂-->
        <constructor-arg name="factory" >
            <bean class="com.github.tobato.fastdfs.conn.PooledConnectionFactory"/>
        </constructor-arg>
    </bean>
</beans>

具体使用说明:

1. 需要使用的client类在com.github.tobato.fastdfs.service包下,而service包依赖于一些 com.github.tobato.fastdfs.domain 包下的类。

  如 FastFileStorageClient、AppendFileStorageClient、GenerateStorageClient等

2. 使用代码实例

import com.github.tobato.fastdfs.domain.StorePath;
import com.github.tobato.fastdfs.service.FastFileStorageClient;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.io.File;
import java.io.FileInputStream;

@ContextConfiguration(locations = { "classpath:applicationContext.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
public class FastDFSDemo extends AbstractJUnit4SpringContextTests {

    @Test
    public void uploadFile() throws Exception{
        File file = new File("/home/duhui/code/fastdfsdemo/src/test/resources/images/54af9bcdN78b67b5a.jpg");
        StorePath storePath = fastFileStorageClient.uploadFile(null, new FileInputStream(file), file.length(), "jpg");
    }

    @Autowired
    FastFileStorageClient fastFileStorageClient;
时间: 2024-10-15 05:12:46

spring集成:如何用传统方式使用fastDFSClient的相关文章

Spring集成Memcached三种方式(一)

转载:http://blog.csdn.net/u013725455/article/details/52102170 Memcached Client目前有3种: Memcached Client for Java SpyMemcached XMemcached 这三种Client一直存在各种争议: Memcached Client for Java 比 SpyMemcached更稳定.更早.更广泛: SpyMemcached 比 Memcached Client for Java更高效: X

RabbitMQ及Spring集成

部分转载自https://blog.csdn.net/whoamiyang/article/details/54954780 1.背景 RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现. 2.应用场景 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端. 这有一个问题是,

Struts2+Spring集成合并

前边单独总结了Struts2,Spring和Ibaits框架了,那么怎么结合使用呢?这次先来看一下Sturts2和Spring的集成合并.其实挺简单的,就是导入各自的jar包以及连接彼此的jar包,分好彼此的工作就可以了. 好看一下Struts2+Spring的集成方案!  Struts2和Spring集成有两种方案,是根据action的创建来划分的!  方案一,Struts2负责流程,Spring负责对象的创建:Action由Struts2框架负责创建:Service由Spring框架负责创建

Java Persistence with MyBatis 3(中文版) 第五章 与Spring集成

MyBatis-Spring是MyBatis框架的子模块,用来提供与当前流行的依赖注入框架Spring的无缝集成. Spring框架是一个基于依赖注入(Dependency Injection)和面向切面编程(Aspect Oriented Programming,AOP)的Java框架,鼓励使用基于POJO的编程模型.另外,Spring提供了声明式和编程式的事务管理能力,可以很大程度上简化应用程序的数据访问层(data access layer)的实现.在本章中,我们将看到在基于Spring的

activiti搭建(二)与Spring集成

转载请注明源地址:http://www.cnblogs.com/lighten/p/5876773.html 本文主要讲解如何将Activiti和Spring框架集成,再过一段时间将会将一个基础的demo放在github上,地址将会在activiti系列导读文章中给出,如果未给出,则是因为没有构建完成(学习中,更新较慢).按照搭建篇章的顺序,也能搭建起来. 上一章将了数据库的初始化,继续那章建立的maven项目.Activiti与Spring集成需要相应的jar包,下面将补充其他maven依赖:

1、传统方式实现任务调度

1.传统方式指的是调度类继承QuartzJobBean,调度下面这个类 public class QuartzJob1 extends QuartzJobBean{ @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss"); System.ou

让axis1.4与spring集成,去掉累赘层~

对于axis1.4来说,我们常用wsdd的方式来发布服务.下面先看下我们是如何使用的. 定义一个服务类 package com.sunsharing.axistest; public class HelloWordService {     public String sayHello(String person){         return "hello ," + person;     } } 使用wsdd暴露服务以及方法 <deployment xmlns="

Spring集成MyBatis框架

Java在写数据库查询时,我接触过四种方式: 1.纯Java代码,引用对应的数据库驱动包,自己写连接与释放逻辑(可以用连接池) 这种模式实际上性能是非常不错的,但是使用起来并不是非常方便:一是要手工为Connection做获取与释放,大量的冗余代码也容易出错:另一个是,复杂的SQL用字符串写起来简直不可维护(换行.可视长度.参数都是问题). 2.使用Spring JdbcTemplate 这个其实还是挺不错的,配置比较简单,功能丰富上比手工管理Connection要舒服多了,而且代码也比较简洁.

Unit08: Spring集成mybatis

Unit08: Spring集成mybatis 1. Spring集成mybatis (1)方式一 step1. 导包. spring-webmvc,mybatis,mybatis-spring, ojdbc,dbcp,spring-jdbc,junit. step2. 添加spring的配置文件. 注:集成之后,不再需要mybatis的配置文件了,之前的配置信息 用一个bean(SqlSessionFactoryBean)来代替. step3.实体类. step4.映射文件. step5.Ma