Határozzon meg külön felületeket helyi és távoli Enterprise JavaBeans (EJB) komponensek számára

Egy felület nem lehet egyszerre helyi és távoli. Azonban meghatározhatja az összes metódust egyetlen felületben, és ezután kiterjesztheti a felületet, hogy létrehozzon külön helyi és távoli felületeket, amelyekre annotációkhoz vagy elemekhez hivatkozhat.

Ez a szabály megjelöli a felületeket, amelyek egyazon osztályhoz egyaránt használják a javax.ejb.Local és a javax.ejb.Remote annotációt. Megjelöli a business-local és business-remote elemeket is, amelyek ugyanarra a felületre hivatkoznak egyazon session elemen belül az ejb-jar.xml fájlban.

A következő Java kódban a MyInterface.class osztályra mutató hivatkozás meg van jelölve a javax.ejb.Local és a javax.ejb.Remote annotációval.

Nyilvános felület MyInterface () { .. }

@Stateless(név = "MyEJB")
@Remote(MyInterface.class) @Local(MyInterface.class) nyilvános záróosztály MyEJB megvalósítja a MyInterface {
    ...
}

A következő ejb-jar.xml fájlban a szabály megjelöli a business-local és a business-remote elemeket.

<session>
    <ejb-name>MyEJB</ejb-name>
    <business-local>com.ibm.sample.MyInterface</business-local>
    <business-remote>com.ibm.sample.MyInterface</business-remote>
    <ejb-class>com.ibm.sample.MyEJB</ejb-class>
    <session-typegt;Stateless</session-type>
    < transaction-typegt; tároló</transaction-type>
 </session>

A probléma megoldása érdekében terjessze ki a felületet, hogy külön helyi és távoli felületeket hozzon létre, és ezekre hivatkozzon az annotációknál vagy elemeknél:

public interface MyInterfaceLocal extends MyInterface() 
{ .. }
public interface MyInterfaceRemote extends MyInterface() 
{ .. }