方法调用中的歧义.Jboss 6.4抛出IllegalArgumentException:参数类型不匹配错误

时间:2017-04-06 05:29:23

标签: ejb-3.0 overloading jboss6.x

我们最近从Jboss 4.2迁移到Jboss EAP 6.4。在我们的一个EJB类中,我们有过载方法create(AbstractBean)和create(AbstractEntity)。 AbstractEntity类正在扩展AbstractBean类。当我们尝试在Jboss 6.4实例中调用create(AbstractBean)方法时,我们得到了IllegalArgumentException:参数类型不匹配错误,但我们没有在Jboss 4.2中获得此异常。

当我们注释掉create(AbstractEntity)方法时,异常没有发生,当我们尝试使用反射调用方法时,异常没有发生。

但我们只是想知道在服务器配置中有什么要解决的问题,或者如上所述使用反射是一个正确的解决方案。

任何人都可以帮助我们正确理解Jboss6.4的行为。

1 个答案:

答案 0 :(得分:0)

我们在一个类中有两个方法,它们具有不同的arugment类型,但是一个方法的参数类型扩展了其他方法的参数类型,因此JBoss最终出现了模糊错误。我们已经使用派生类作为参数删除了该方法,并将超类保留为一。这解决了我们的问题。