寻找高性能bean异步调用方式 刚才试了下,采用ActiveMQ+Lingo,服务端是空处理,循环调用10000次还是需要3秒,服务端处理需要20秒,平均每个调用消耗是2ms,还是有些高。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Ajax是页面的异步调用,对服务器端的性能压力负面影响比较大;WebService如果是标准基于XML的性能也非常差,二进制的要好一些但也不够理想。 今天试了另外一种方式,也就是前面说的采用线程池任务队列的方式处理(java.util.concurrent),100万条空处理2秒就搞定了,平均每条处理只花费了0.002ms,从性能上应该说是非常理想的。而JMS之前同样的调用每条处理却是2ms。但这种模式有以下问题: 首先,任务类需要实现Runnable接口,而要放入的任务是多样的,因此抽象的要求会比较高。准备采用反射机制来解决; 其次,这种方式从根本上说是本机调用,无法直接将延迟处理的任务像JMS一样派发到其它服务器。 以下是结合Spring AOP实现异步调用:1、一个非标准的单例线程池类来管理任务处理,有一个私有实例,所有的外部调用都是静态的。 2、一个interceptor,功能是拦截方法,将方法转到线程池中处理。 3、对需要异步的service在spring配置文件中换个名字再定义一次并加入拦截器,这样就可以根据bean id来确定调用的是同步方法还是异步方法。已完成,加了拦截后性能稍有下降,100万的空处理需要4-5秒,平均每条花费0.005ms。性能跟调用复杂度都还算可以。 菜鸟跪求问关于猜拳的java问题 关于MySQL数据库中数据类型的转换问题 Jboss7调用EJB3.0问题 Tomcat6.0配置域名 在J2EE中怎么用Web services天气预报的服务 求救HQL语句 发布ear的问题 axis中,web方法的result中含有Object类型的问题,各位大侠帮忙啊. 在哪里可以找到好的JMS中文教程和JBOSS中问教程呀!!!(在线急等,有好的必加分) 如何在tomcat启动的时候装载数据 java程序遇到的不懂之处,请高人指点 请教利用jxl通过模板生成多页相同内容的问题
首先,任务类需要实现Runnable接口,而要放入的任务是多样的,因此抽象的要求会比较高。准备采用反射机制来解决;
其次,这种方式从根本上说是本机调用,无法直接将延迟处理的任务像JMS一样派发到其它服务器。
1、一个非标准的单例线程池类来管理任务处理,有一个私有实例,所有的外部调用都是静态的。
2、一个interceptor,功能是拦截方法,将方法转到线程池中处理。
3、对需要异步的service在spring配置文件中换个名字再定义一次并加入拦截器,这样就可以根据bean id来确定调用的是同步方法还是异步方法。已完成,加了拦截后性能稍有下降,100万的空处理需要4-5秒,平均每条花费0.005ms。性能跟调用复杂度都还算可以。