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