EJB服务接口在实践中的兼容性

时间:2018-01-18 08:45:48

标签: java java-ee

让我们想象一下,这个远程接口用于在两个Java EE 7应用程序之间进行通信。

public interface BusinessService {

    void hello(String name);

    String echo(String echoValue);    
}

现在由于某种原因,服务器JEE 7应用程序被重新部署了该接口的新版本和不兼容版本,因为方法echo已被删除,客户端仍然依赖于BusinessService的旧版本

public interface BusinessService {

    void hello(String name);

    // no more echoing    
}

只要客户从未拨打BusinessService#hello,客户端是否仍然可以对BusinessService#echo进行远程通话?

1 个答案:

答案 0 :(得分:2)

简短回答 - 是的。

如果客户端不使用此方法,则这将是兼容的更改。否则,客户端会出现错误:

  

javax.ejb.EJBException:EJB上没有这样的方法echo(java.lang.String)...