Nie używaj typów danych JAX-RPC Holder

Ta reguła oznacza flagą odwołania do javax.xml.rpc.holders pakiety. Pakiet JAX-RPC ma osobne klasy posiadaczy dla każdego typu danych ( IntHolder , StringHolder , DoubleHolder itp.). Dzięki JAX-WS istnieje teraz nowa pojedyncza klasa Holder, którą można sparametryzować dla każdego typu ( Holder<String> , Holder<Int> itp.).

Przykład JAX-RPC:

import javax.xml.rpc.holders.IntHolder;
importuj javax.xml.rpc.holders.StringHolder;
    
publiczna klasa Demo {

    public void demoHolder(StringHolder text, IntHolder count) throws java.rmi.RemoteException {
          text.value = "test";
         count.value = 1;
}
}

Przykład JAX-WS:

import javax.xml.ws.Holder ;
    
publiczna klasa Demo {

public void demoHolder(Holder tekst, uchwyt liczba) rzuca wyjątek java.rmi.RemoteException {
          text.value = "test";
         count.value = 1;
}
}

W powyższych przykładach widać, że teraz jest tylko jeden pakiet, który trzeba zaimportować javax.xml.ws.Holder (zamiast javax.xml.rpc.holders.IntHolder oraz javax.xml.rpc.holders.StringHolder ). Kolejną różnicą są parametry metody demoHolder ; zamiast StringHolder text, IntHolder count teraz możesz tylko dzwonić Holder<String> text, Holder<Integer> count .