因为代理原因导致的NotSerializableException

  错误信息:

  NotSerializableException

  Failed to serialize object

  Proxy

  报这个错,一开始就往没有序列化这一块想,可是报错点是:

  excelTableService.sendMessage(smsService,userSession,procInstance,type,cipConfigFile);

  这个函数的参数都是有值的。而且这个方法是ServiceBean,本身报错的类又是一个Controller,也是一个Bean,能序列化吗?

  最后试着都加了序列化,仍然报错。

  错误的原因并不是没有序列化,而是代理的问题。

  我们以springMVC的逻辑来想:通过了Controller注入了一个Service,然后又调用了一个另一个Service的方法,把前一个Service当做参数传递进去了。这本身是不是不合逻辑的。在Contriller中注入Service使用的代理,将这个代理再传回Service中,就会获取不到了。

  看原来的代码中的方法:

@SuppressWarnings("unchecked")
public void sendMessage(SmsService smsService,
                        UserSession userSession,
                        ProcInstance procInstance,
                        String type, String cipConfigFile) throws IOException {
}

  在这个Service中,本来可以直接注入SmsService,和UserSession 这些值的,并不需要从外部传递过来。更改这个Service中的方法后,果然没有了问题。

  原创文章,欢迎转载,转载请注明出处!

时间: 2024-07-30 09:18:43

因为代理原因导致的NotSerializableException的相关文章

什么原因导致了某些科技圈子里技术最牛逼的人在搞行政,而技术很一般的人在做科研?(转)

最近一年左右兼职技术管理的经验试总结,核心理念就是以人为本. 小作坊 小项目的构成往往是一个相对有经验的人作为 leader,带几个毕业生构成一个三五个人的小作坊.没有达到配置专门的项目管理人员的程度,因此管人管事管技术,三权集中在一个人身上. 对效率上有好的和坏的影响,但也是不错的选择,开发人员一般是比较难管理的,职业的项目经理很难做好这个事情. 这也从一定程度上让这个 leader 的精力极大分散,很难做较多的 coding 工作,分散在项目管理,对外对内协调,以及人才培养,质量控制等工作.

使用Charles代理工具导致电脑无法正常访问网站(您的连接不是私密连接)

很多开发者都需要使用代理工具来调试接口,查看数据等等,但是有时候发现打开代理工具之后,代理工具同时也拦截了电脑的所有网络请求,导致电脑访问网站时提示(您的连接不是私密连接)... 造成这种问题的原因就是charles等代理工具也拦截了电脑网页的请求,但是使用的是charles代理工具的证书,导致浏览器无法验证此网页的证书,进而导致了报错,那么该如何解决呢?我们只需要将charles的证书添加到电脑的信任证书中即可. 进入Charles的Help中,选择SSL Proxying,然后点击Insta

网站打开慢怎么回事,哪些原因导致网站打开速度很慢

网站打开速度非常慢相信是很多人都会遇到的问题,除了本身网速慢的原因之外,更多的应该是从网站本身方面考虑,有时一些细节性的问题都会导致网站打开慢,一般原因会有以下几个方面: 第一,网站服务器空间的问题.网站都是存放在服务器空间里了,如果服务器响应比较慢,那么网站同样的就会打开很慢,因此站长们在选择空间时,应该选择那些有实力的空间服务商,选择双线或多线的主机,最好选择国内的空间: 第二,网站代码问题,例如使用table布局的就会比使用div布局的网站打开慢,另外还有就是一些Javascript和一引

苹果手机出故障你知道是什么原因导致的吗?那有需要维修什么部件呢?

当你在维修iPhone6的手机时是不是总觉的在不知不觉中花了很多钱,总觉得自己对手机的不了解,有的钱花的很冤枉,看完这篇经验来告诉你iPhone6花屏黑屏的维修方式有哪些,让你不再花冤枉钱.第一步:确认手机故障和下图中的是否一致. 要是以下解决不了我告诉你一个好地方广州市天河区天河北路183号大都会广场4407-4408室(中国市长大厦 第二步:使用五星螺丝刀拆除手机底部的两颗尾钉. 第三步:使用显示屏开启夹具将手机屏幕打开. 第四步:断开电池排线和主板的连接,重新扣合电源排线,开机检查花屏现象

相机里的内存卡无法访问?可能是这些原因导致的

很多人都有属于自己的相机,在使用操作发生的相机内存卡无法访问情况该怎么处理呢?导致内存卡无法访问的原因有哪些?这篇文章都会告诉你! 想要从单反相机里导出图片,直接"剪切"?内存不够用,直接"格式化"?这些方式你是不是也在经常用?但是想要告诉大家的是,经常这样操作就容易无法访问内存卡. 内存卡显示无法访问的原因?1.内存卡没有正确安装或没有安装,取出内存卡,重新安装.2.内存卡金属触点氧化,取出清洁后,重新安装测试.3.内存卡质量有问题,更换新的内存卡.正确的操作方式

是什么原因导致Python运算效率这么低呢?

Python是一门目前很流行的编程语言,因其语法简洁.功能强大.上手简单,目前已广泛应用于人工智能等领域,但是python运算效率低,具体是什么原因呢,下列罗列一些: 第一:python是动态语言 一个变量所指向对象的类型在运行时才确定,编译器做不了任何预测,也就无从优化.举一个简单的例子: r = a + b. a和b相加,但a和b的类型在运行时才知道,对于加法操作,不同的类型有不同的处理,所以每次运行的时候都会去判断a和b的类型,然后执行对应的操作.而在静态语言如C++中,编译的时候就确定了

oracle启动错误提示---hostname原因导致

#刚开始直接root用户登录,在etc目录,切换到oracle,输入lsnrctl start启动oracle时提示"lsnrctl: command not found" [[email protected]_test etc]# su oracle [[email protected]_test etc]$ lsnrctl start bash: lsnrctl: command not found #切换回root用户,cd /根目录, 再次su - oracle ,输入lsnr

25种原因导致用户马上离开你的网站

是什么让人们在打开你的网页没多久就按下返回键?他们为什么那么快就想摆脱你的网站?可以做些什么来改善这一点呢? 长期思考这个问题之后,我发现了比原本想象的还要多的一些因素. 如果把一下因素单独考虑的话,可能还不至于让访问者产生迅速离开的冲动,但是如果这些因素掺杂在一起的话,却足以留给访问者一个足够坏的印象,让他们马上离开. 让用户在你的网站有个愉快的体验并不是件容易的事情.实际上大多数网站都会多多少少有些问题.但是看看下面这些负面因素并努力避免,或许可以对于做出更有用户黏性的网站有好处. 来,从最

[Vuejs] Vue解决代理设置导致浏览器Session丢失的问题

以下是会造成Session丢失的代理: proxyTable: { '/proxyApi': { target: 'http://111.18.149.215:8080/WRSOCXSystem/html/', changeOrigin: true, pathRewrite: { '^/proxyApi': '/' } } }, 修改成: proxyTable: { '/WRSOCXSystem': { target: 'http://111.18.149.215:8080/WRSOCXSyst