spring boot 整合 FastDFS_Client问题

JMX客户端及对commons-pool的监控 生产线上,我们的服务基本都是在linux环境下部署的,当高并发的时候,机器的负载是比较高的,所以我们只能在linux机器上执行一些简单的命令行工具,如jps,jstack,jinfo等,像重量级的jconsole,jvisualvm这些首先需要桌面环境才能观看,服务器肯定是没有开启X client的,所以只能通过jmx在远程客户端观看,但这种情况下,势必会对本机造成一些不必要的资源占用,如网络带宽 阅读详情

Springboot工程引入淘宝开源插件FastDFS_client启动报错:

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [FdfsConnectionPool [maxTotal=50, blockWhenExhausted=true, maxWaitMillis=100, lifo=true, fairness=false, testOnCreate=false, testOnBorrow=false, testOnReturn=false, testWhileIdle=true, timeBetweenEvictionRunsMillis=60000, numTestsPerEvictionRun=-1, minEvictableIdleTimeMillis=180000, softMinEvictableIdleTimeMillis=-1, evictionPolicy=org.apache.commons.pool2.impl.DefaultEvictionPolicy@1a05ff8e, closeLock=java.lang.Object@251e2f4a, closed=false, evictionLock=java.lang.Object@1abea1ed, evictor=org.apache.commons.pool2.impl.BaseGenericObjectPool$Evictor@6f5288c5, evictionIterator=null, factoryClassLoader=java.lang.ref.WeakReference@5a9ef32e, oname=org.apache.commons.pool2:type=GenericKeyedObjectPool,name=pool, creationStackTrace=java.lang.Exception
	at org.apache.commons.pool2.impl.BaseGenericObjectPool.<init>(BaseGenericObjectPool.java:142)
	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.<init>(GenericKeyedObjectPool.java:105)
	at com.github.tobato.fastdfs.conn.FdfsConnectionPool.<init>(FdfsConnectionPool.java:33)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)

解决这个问题需要在启动类上加一个注解 @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING):

@SpringBootApplication
@EnableSwagger2
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
@ComponentScan("com")
public class LearningApplication {

	public static void main(String[] args) {
		SpringApplication.run(LearningApplication.class, args);
	}
}

@EnableMBeanExport解决JMX重复注册问题,不要再配置 spring.jmx.enabled=false,以免影响SpringBoot默认的JMX监控。

application.yml参数配置:

# ===================================================================
# 分布式文件系统FDFS配置
# ===================================================================
fdfs:
  so-timeout: 1501
  connect-timeout: 601 
  thumb-image:             #缩略图生成参数
    width: 150
    height: 150
  tracker-list:            #TrackerList参数,支持多个
    - 192.168.1.1:22122

上传下载:

import cn.hutool.core.io.FileUtil;
import com.github.tobato.fastdfs.domain.StorePath;
import com.github.tobato.fastdfs.proto.storage.DownloadByteArray;
import com.github.tobato.fastdfs.service.FastFileStorageClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;

@RestController
@RequestMapping("/file")
public class FileController {

    @Resource
    private FastFileStorageClient fastFileStorageClient;

    @PostMapping("/upload")
    public String save(MultipartFile multipartFile) throws IOException {
        byte[] bytes = multipartFile.getBytes();
        InputStream inputStream = new ByteArrayInputStream(bytes);
        String extName = FileUtil.extName(multipartFile.getOriginalFilename());
        StorePath storePath = fastFileStorageClient.uploadFile(inputStream, bytes.length, extName, null);
        return storePath.getFullPath();
    }

    @PostMapping("/del")
    public String del(@RequestParam String uri) {
        StorePath storePath = fromUri(uri);
        fastFileStorageClient.deleteFile(storePath.getGroup(), storePath.getPath());
        return "删除成功";
    }

    /**
     * 从uri生成StorePath对象.
     */
    private StorePath fromUri(String uri) {
        String group = uri.replaceFirst("/.*$", "");
        String path = uri.replaceFirst("^.*?/", "");
        return new StorePath(group, path);
    }

    //下载
    public byte[] getBin(String fullPath) {
        try {
            StorePath storePath = fromUri(fullPath);
            String group = storePath.getGroup();
            String path = storePath.getPath();
            return fastFileStorageClient.downloadFile(group, path, new DownloadByteArray());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
org.apache.commons.pool2.impl.GenericObjectPoolConfig 问题 1. 问题来源 测试spring-boot-data-redis 功能,发生了异常。 2. 问题解决 2.1 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency&gt 阅读详情

相关推荐

Spring Boot整合FastDFS,开启token防盗链

FastDFS部署参考这里 FastDFS_Client使用 添加依赖 FastDFS_Client:项目地址 Simplemagic:项目地址 pom.xml中添加: <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <ver

Knight of Zero 2883

UnableToRegisterMBeanException: Unable to register MBean

一:错误日志: Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2019-08-08 10:46:01.439 ERROR 12788 --- [ost-startStop-1] o.s.boot.SpringApp...

ClearLoveQ的博客 5899

springboot整合fastdfs-client操作fastdfs文件服务器

文章目录springboot与fastdfs-client的整合1.pom.xml引入第三方工具类:2.在application.yml引入配置:3.写个工具类 FastFileStorageClientUtil:4.在controller层使用工具类:5.测试使用 springboot与fastdfs-client的整合 为Java操作fastdfs文件服务器提供的第三方工具: ​ GitHub源码: https://github.com/tobato/FastDFS_Client 注意:fastdfs-

weixin_43273005的博客 1537

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean...

IDEA启动 springboot时报错 Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 2020-12-11 09:24:56.698 ERROR 16592 --- [ main] o.s.boot.SpringApplication : Application

weixin_44005541的博客 1443

linux搭建分布式文件系统FastDFS并整合spring boot

linux搭建分布式文件系统FastDFS并整合spring boot 目录 FastDFS是什么 FastDFS安装 spring boot集成FastDFS上传下载文件 FastDFS配置nginx 问题&注意事项 FastDFS是什么: 是由C语言实现的开源轻量级分布式文件系统,实现了对文件管理,同步,访问,下载等功能,解决了大容量存储和负载均衡。其包含两个角色:Trac

同是天涯程序猿 3070

OCV/AOCV/SOCV的介绍和应用

library中的cell delay是在某个固定的PVT(operating condition)下仿真得出的。,cell的delay并不是一个固定值,而是一个随机值,遵循高斯分布或门特卡洛分布,在STA中用OCV来模拟这一『特征』。OCV全称on chip variation,用于描述不同管子间由于工艺偏差、电压降、温度变化引起的delay变化。,也用于描述工艺偏差引起的net厚度宽度的变化从而导致net的电容电阻变化。优点:设置起来比较简单粗暴,对于不那么先进的工艺可行!的影响,更贴合实际。

m0_61003348的博客 8979

Tomcat部署多个Sring Boot项目时Unable To Register MBean Exception的一种解决方法

Spring Boot 生成的war包部署到同一Tomcat时出现org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [HikariDataSource (HikariPool-2)] with key ‘dataSource’ 异常的解决方法 异常如下 org.apache...

博采众长,自成一派; 1万+

CRC校验查表法详解

CRC校验的查表法理解算法原理基础计算查表法原理及计算查表法中的表CRC校验中数据逆序CRC校验中的其它参数 算法原理 CRC(Cyclic Redundance Check)循环冗余校验,是基于某个多项式计算出一组校验码,用于核对数据传输过程中是否被更改或传输错误 基础计算 假设需要检验的数据 g :10100111,这串二进制码可以表示为代数多项式g(x) = x^7 + x^5 + x^2 + x +1, 而作为除数的多项式 h(x) 可以自由选择或者按照国际标准选择,一般h(x)的阶数如果是m

boom的博客 1万+

SpringBoot整合fastdfs

1、导入jar包 <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.5</version...

... 1万+

一文读懂“数据分发服务DDS”(Data Distribution Service,RTPS,OMG)

DDS 数据分发服务(Data Distribution Service) 数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS...

DDS技术交流推广大本营 4万+

不用敲命令!用宝塔面板可视化部署pbootCMS的保姆级教程(2024最新版)

本文提供2024年最新版pbootCMS可视化部署教程,全程使用宝塔面板操作,无需任何命令行知识。从服务器初始化、LNMP环境配置到源码上传、安装向导,手把手指导用户通过图形化界面快速搭建专业网站,适合零基础新手和追求高效建站的用户。

weixin_42509507的博客 490

spring boot整合fastdfs实现文件上传、下载等

1、安装fastdfs 2、通过使用fastdfs-client实现文件上传、下载 3、spring boot整合实现文件上传、下载

weixin_57392053的博客 4247

Unity 调用安卓内部安装apk

一、申请权限 应用内安装其他应用的权限属于特殊权限,需要在特殊申请。 Uri packageURI = Uri.parse("package:" + mContext.getPackageName()); Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI); startA...

BDDNH的博客 1238

spring boot 整合 FastDFS_Client

FastDFS-Client使用方式 1.在项目Pom当中加入依赖 Maven依赖为 <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <ver...

幼儿园大班扛把子 785

西门子828D/840DSL数控机床产量数据采集实战:一个C#程序员的踩坑与填坑记录

本文详细记录了C#程序员在西门子828D/840DSL数控机床产量数据采集实战中的经验与教训。从硬件连接到软件配置,再到数据读取与异常处理,文章分享了工业现场编程的特殊挑战和解决方案,特别是针对数控系统的TCP/IP通信、PLC变量地址映射及数据解析等关键技术点。

weixin_42741930的博客 594

STM32Cube高效开发教程<基础篇>(一)----概述

一、 STM32系列器件和开发工具发展历史声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。一、 STM32系列器件和开发工具发展历史。

我的博客 1171

Spring Boot2 集成FastDFS

什么是FastDFS? FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 相信大家既然是要整合FastDFS 那应该对它有个基础的认识吧 既然要整合FastDFS那就要安装FastDFS服务,安装FastDFS系统时会配...

路人甲的专栏 5733

【系统分析师】第2章-基础知识:数学与工程基础(核心总结)

数学与工程基础

数据知道的博客 6812

spring boot与fastdfs的整合使用

spring boot和fastdfs是什么就不说了。百度一下你就知道。 这里我们介绍一下spring boot与fastdfs的整合使用。fastdfs怎么安装请查看我的另外一篇博客:点击打开链接。 这里假设你已经安装好了fastdfs 首先下载最新版的 fastdfs-client-java源码编译,因为这个包maven上没有,需要自己编译成jar本地安装到maven。 源码下载

Gogym的博客 9456

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

基于tobato/FastDFS_Client支持SpringMvc改造

之前在项目中使用到了fastDFS,对于java客户端,最后决定采用tobato的fastDFS_Client。其源码在github上的链接首先简单介绍下fastDFS_Client(以下摘自github)在原作者YuQing与yuqih发布的java客户端基础上进行了大量重构工作,便于Java工作者学习与阅读主要特性: 1. 对关键部分代码加入了单元测试,便于理解与服务端的接口交易,提高接口质量

Luxy_wang的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

springboot 整合 FastDFS

一、关于maven下载 fastdfs-client-java失败的问题 因为 fastdfs-client-java-1.27-SNAPSHOT.jar 这个依赖包在maven中央仓库是没有的。需要自己编译源码成jar本地安装到maven 的本地仓库,安装完以后就能正常引用了 下载 fastdfs-client-java-1.27-SNAPSHOT.jar , 链接 提取码:7f99 解压并用 IDEA 打开文件夹(fastdfs-client-java)— 导入工程 执行 maven clean 和

weixin_44065125的博客 427

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Spring Boot 整合FastDFS

1、在web层,导入依赖: <!--整合FastDFS--> <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifac...

weixin_30526593的博客 120

springboot3.x整合fastdfs

(Tracker + Storage,已部署并正常运行)(Spring Boot 3.x 强制要求)(或其他 3.x 版本)

m0_63040701的博客 722

Spring Boot简单集成fastDFS

FastDFS是一个开源的轻量级分布式文件系统,它解决了大容量存储和负载均衡的问题。FastDFS架构包括Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,Tracker server负责负载均衡和调度,最终由Storage server完成文件上传和下载。

weixin_43833540的博客 842

FastDFS 分布式文件系统 安装及Spring Boot整合fastdfs-client

环境准备 使用的系统软件 名称 说明 centos 7.x libfastcommon FastDFS分离出的一些公用函数包 FastDFS FastDFS本体 fastdfs-nginx-module FastDFS和nginx的关联模块 nginx nginx1.15.4 编译环境 yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-d

weixin_49799418的博客 548
上一篇: Mysql死锁临时解决办法
下一篇: Java获取文本文件编码
程序员青戈
程序员青戈 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄10年 3万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值