jboss4 热部署,ejb之间调用出错,哪位大侠能否抽空指点下,非常感谢!
在一个jboss4版本下,部署两个ejb组件:ejbA.jar和ejbB.jar,其中ejbB.jar组件里有个无状态session bean 调用ejbA.jar里某个无状态session bean的一个方法,它们之间调用是通过远程接口调用,运行很正常;但是当ejbA.jar重新热部署(接口没有任何改变,就是直接重新覆盖下),这时ejbB.jar调用ejbA.jar失败,异常为home接口create时出错;如果将ejbA.jar部署到另外一个jboss4环境下,ejbA.jar任意部署ejbB.jar调用都不会出错,初步怀疑jboss在实现jndi查找实例的时候建立了缓存机制,就是第一次调用的时候,发现缓存里没有,通过Context.PROVIDER_URL链接建立,以后都是从缓存里建立实例,第一次调用后,把ejbA.jar重新部署,jboss原来缓存ejbA的Home对象其实不存在了,所有在create的时候报错。但是为什么两个jboss下却是可以的,难道jboss缓存跟自己同一个jvm下home对象?如果是这样为什么不在热部署的时候清除这个缓存了?
请问这种错误是不是我估计的情况引起的,怎么解决?谢谢!!!