poniedziałek, 22 lipca 2013

JAVA - serwis RMI

Przykładowe udostępnienie serwisu RMI. Należy pamiętać że interfejs musi rozszerzać 'Remote' a metody serwisu muszą rzucać wyjątek 'RemoteException'.

1) Interfejs:
public interface IntegrationServiceRMI extends Remote {

void saveUpdateBook(Book   book) throws RemoteException;

}

2) Serwis:
public class IntegrationServiceRMIImpl  implements  IntegrationServiceRMI {
@Override
public void saveUpdateBook(Book book) throws Exception {
             ....
}
}

3) Klient serwisu RMI:
<bean id="integrationService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl">
<value>${rmi.host}</value>
</property>
<property name="serviceInterface" value="com.blogger.programmingmt.interface. IntegrationServiceRMI " />
<property name="lookupStubOnStartup" value="false"/>
</bean>


4) Testowanie połączenia do serwisu RMI:

Registry registry;
IntegrationServiceBO stub = null;
try {
   registry = LocateRegistry.getRegistry("localhost", 1099);
   stub = ( IntegrationServiceRMI ) registry.lookup("integrationService");
} catch (RemoteException e1) {
    e1.printStackTrace();
} catch (NotBoundException e) {
    e.printStackTrace();
}
try {
    stub.saveUpdateBook(book); 
} catch (RemoteException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

Brak komentarzy:

Prześlij komentarz