zoukankan      html  css  js  c++  java
  • web.xml配置文件中<async-supported>true</async-supported>报错的解决方案

    为什么用到这个:

    ssh集成了cxf,当登录系统后,发现系统报错,控制台不断输出下面信息:

    2016-05-05 11:05:06 - [http-bio-8080-exec-4] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:05:06 - [http-bio-8080-exec-9] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:05:06 - [http-bio-8080-exec-6] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:05:06 - [http-bio-8080-exec-10] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:05:06 - [http-bio-8080-exec-5] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:05:09 - [http-bio-8080-exec-9] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:05:09 - [http-bio-8080-exec-4] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:05:09 - [http-bio-8080-exec-5] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.
    2016-05-05 11:0

    经查发现问题所在:

    错误提示的内容即是:web.xml中有一个filter或者servlet不支持异步。

    什么基于什么搞得 【活跃】敌杀死 2016/5/4 17:45:03 什么容器

    【活跃】小伙 2016/5/4 17:45:42 tomcat 17:45:54 【活跃】敌杀死 2016/5/4 17:45:54 每个filter  servlet 配置的时候要加上<asychronized> true</  asychronized> 【活跃】敌杀死 2016/5/4 17:46:26 普通的tomcat 还是alitomcat 【活跃】敌杀死 2016/5/4 17:47:28  <async-supported>true</async-supported> 【活跃】敌杀死 2016/5/4 17:47:40

    【活跃】敌杀死 2016/5/4 17:47:44 要支持异步 17:57:27 【活跃】小伙 2016/5/4 17:57:27 普通的tomcat吧

    【活跃】小伙 2016/5/4 17:57:35 alitomcat是啥啊

    【活跃】小伙 2016/5/4 17:58:10 就是说我的web。xml中所有的servlet或者filter全都需要加进去吗 18:19:16 【活跃】敌杀死 2016/5/4 18:19:16 是的 【活跃】敌杀死 2016/5/4 18:19:30 阿里tomcat 19:44:11 【活跃】小伙 2016/5/4 19:44:11 @敌杀死 我那么做以后会有什么影响吗,对于项目来说 19:54:37 【活跃】小伙 2016/5/4 19:54:37 如果接口是集合类型的,例如list,好像有问题啊

    【活跃】小伙 2016/5/4 19:54:47 用cxf生成的客户端 【活跃】敌杀死 2016/5/4 19:56:26 map也会有问题 19:57:10 【活跃】敌杀死 2016/5/4 19:57:10 那就约定好参数 开发规范 【活跃】敌杀死 2016/5/4 19:57:26 因为你的环境需要支持异步 【活跃】敌杀死 2016/5/4 19:57:41 servlet 3.0支持异步的特性

    【活跃】小伙 2016/5/4 19:58:27 我那么改在web.XML中,不会对我们系统有啥影响吗 19:58:41 【活跃】敌杀死 2016/5/4 19:58:41 不会  【活跃】敌杀死 2016/5/4 19:59:07 只是以后你要继承其他开源框架,其他开源框架不支持的话就麻烦了 【活跃】敌杀死 2016/5/4 19:59:40 是链式调用,一个servlet或者filter不支持异步就会报错 【活跃】敌杀死 2016/5/4 20:00:12 你是哪个框架需要支持异步的特性呢 【活跃】敌杀死 2016/5/4 20:00:17 cxf?

    【活跃】小伙 2016/5/4 20:00:27 ssh需要吧 【活跃】敌杀死 2016/5/4 20:00:31 cxf不会这样啊

    【活跃】小伙 2016/5/4 20:00:41 我把cxf集成到ssh中了

    20:02:02 【活跃】敌杀死 2016/5/4 20:02:02 应该有其他解决方案 【活跃】敌杀死 2016/5/4 20:02:15 框架本身应该有方案处理

    【活跃】小伙 2016/5/4 20:03:14

    【活跃】小伙 2016/5/4 20:03:24 我只修改了俩个地方啊

    【活跃】小伙 2016/5/4 20:03:29 一个web。xml

    【活跃】小伙 2016/5/4 20:03:38 还有一个struts.xml

    【活跃】小伙 2016/5/4 20:04:01 struts.xml把我的webservice地址放行了 20:04:42 【活跃】敌杀死 2016/5/4 20:04:42 cxf本身不需要一定是异步的啊

    【活跃】小伙 2016/5/4 20:04:56 启动时并不会报那个错,但是只要登录到我们系统就会报这个错。而且是一直弹出来

    【活跃】小伙 2016/5/4 20:05:17 是不需要啊

    【活跃】小伙 2016/5/4 20:05:33 启动服务的时候,我就发布了 【活跃】敌杀死 2016/5/4 20:05:37 一直弹就对了 【活跃】敌杀死 2016/5/4 20:05:45 没支持异步,所以走同步了 【活跃】敌杀死 2016/5/4 20:05:52 同步就是不停的刷的

    【活跃】小伙 2016/5/4 20:06:10 就是说,我那个cxf不支持同步了吗

    【活跃】小伙 2016/5/4 20:06:20 异步 【活跃】敌杀死 2016/5/4 20:06:26 支持同步 【活跃】敌杀死 2016/5/4 20:06:35 你调用的时候还是可以调用的 【活跃】敌杀死 2016/5/4 20:06:42 只是会不停的请求 20:06:48 【活跃】小伙 2016/5/4 20:06:48 即访问了系统,也有人在调用这个接口,就会出现

    【活跃】小伙 2016/5/4 20:06:54 我明白你的意识了 【活跃】敌杀死 2016/5/4 20:06:54 调用还是能正常调用的 【活跃】敌杀死 2016/5/4 20:07:08 你现在调用能通的吧

    【活跃】小伙 2016/5/4 20:07:14 对。系统还可以正常运行。调用也可以

    【活跃】小伙 2016/5/4 20:07:25 没什么影响,就是控制台一直刷 【活跃】敌杀死 2016/5/4 20:07:26 就是这个现象 【活跃】敌杀死 2016/5/4 20:07:45 没影响也不是 【活跃】敌杀死 2016/5/4 20:07:52 看日志没法看了 【活跃】敌杀死 2016/5/4 20:08:04 调试也没法调了 【活跃】敌杀死 2016/5/4 20:08:13 只是功能正常

    【活跃】小伙 2016/5/4 20:08:23

    【活跃】小伙 2016/5/4 20:08:26 对头

    【活跃】小伙 2016/5/4 20:08:36 就你那一种解决方式吗 20:09:03 【活跃】敌杀死 2016/5/4 20:09:03 支持异步就行了 【活跃】敌杀死 2016/5/4 20:09:24 但是我不知道你是哪个地方导致的

    【活跃】小伙 2016/5/4 20:09:58 是不是cxfservlet不支持啊

    【活跃】小伙 2016/5/4 20:10:24 我们系统里面有很多异步方式

    【活跃】小伙 2016/5/4 20:10:32 前后台交互的时候 【活跃】敌杀死 2016/5/4 20:10:41 我是cometd需要servlet3.0异步支持 【活跃】敌杀死 2016/5/4 20:10:59 cxf本身应该不需要 20:11:12 【活跃】小伙 2016/5/4 20:11:12 cometd是啥啊 【活跃】敌杀死 2016/5/4 20:11:23 你可以百度下

    【活跃】小伙 2016/5/4 20:12:24 大概明白啥意识了

    【活跃】小伙 2016/5/4 20:12:41 就是我的web.xml中有不支持异步调用的

    【活跃】小伙 2016/5/4 20:13:12 我们以前有个系统是通过xfire发布的接口,并没有这个现象啊 20:13:41 【活跃】小伙 2016/5/4 20:13:41 但是没有集成到开源框架中,而是原声发布的 【活跃】敌杀死 2016/5/4 20:13:56 那不清楚,你可以单独整个cxf环境看下 20:16:53 【活跃】小伙 2016/5/4 20:16:53 其实我只要找到那个不支持异步调用的,加上你给的配置,就可以了 【活跃】敌杀死 2016/5/4 20:17:20 每个都加上就可以了

    【活跃】小伙 2016/5/4 20:18:15 会不会全都变成同步了 【活跃】敌杀死 2016/5/4 20:19:09 不会,链式调用就是中间断了的那个不知道就不走 了 【活跃】敌杀死 2016/5/4 20:19:31 就会说某个servlet不支持异步 【活跃】敌杀死 2016/5/4 20:19:42 你看下错误信息或许能找到 20:21:59 【活跃】小伙 2016/5/4 20:21:59 我们发布的接口,里面写了hibernate

    【活跃】小伙 2016/5/4 20:22:28 那个就是你说的链式调用

    【活跃】小伙 2016/5/4 20:23:03 没有错误信息

    【活跃】小伙 2016/5/4 20:23:09 只有2016-05-04 17:38:44 - [http-bio-8080-exec-9] - WARN - ExceptionHandler:38 - Error: java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations. 【活跃】敌杀死 2016/5/4 20:23:36 那是你还有错误日志没打出来 【活跃】敌杀死 2016/5/4 20:23:42 没打印在控制台 【活跃】敌杀死 2016/5/4 20:23:51 你hibernate的日志有看到吗

    【活跃】小伙 2016/5/4 20:25:24 没看啊

    【活跃】小伙 2016/5/4 20:25:30 已经下班了

    【活跃】小伙 2016/5/4 20:25:36 明天去的时候看看 【活跃】敌杀死 2016/5/4 20:25:40 哦 88

    【活跃】小伙 2016/5/4 20:26:06 我是下班回家,找找解决方案

    【活跃】小伙 2016/5/4 20:27:10 cxf不是传说中很好的支持List《T》类型的返回值吗

    经上面聊天看以知道:servlet3.0以前不支持异步。而我们项目现在用的是2.4

    这样就出现了标题所说的问题,解决方式如下:

    http://blog.csdn.net/zxz547388910/article/details/50780068

  • 相关阅读:
    算法竞赛入门经典习题2-3 韩信点兵
    ios入门之c语言篇——基本函数——5——素数判断
    ios入门之c语言篇——基本函数——4——数值交换函数
    144. Binary Tree Preorder Traversal
    143. Reorder List
    142. Linked List Cycle II
    139. Word Break
    138. Copy List with Random Pointer
    137. Single Number II
    135. Candy
  • 原文地址:https://www.cnblogs.com/beijingstruggle/p/5461117.html
Copyright © 2011-2022 走看看