在缺省条件下,JBoss为每一个进入的RMI请求创建一个线程。这对于大系统来说,首先效率会通常比较差;其次,对于性能或者网络攻击以及创建失控连接的客户端来说,RMI请求的无限制连接将是非常危险的;为了修正该问题,可以考虑切换到pooled invoker。
- 编辑server/slim/conf/standardjboss.xml
- 将所有的代理绑定修改为pooled invoker
将所有的<invoker-mbean>jboss:service=invoker,type=jrmp</invoker-mbean>修改为
<invoker-mbean>jboss:service=invoker,type=pooled</invoker-mbean>
JBoss还有一个通常不公开的代理绑定类型PooledInvokerHA,你可以试试!