package devopsdistilled.operp.server.context.account;
import javax.inject.Inject;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.remoting.rmi.RmiServiceExporter;
import devopsdistilled.operp.server.data.service.account.PaidTransactionService;
import devopsdistilled.operp.server.data.service.account.PayableAccountService;
import devopsdistilled.operp.server.data.service.account.ReceivableAccountService;
import devopsdistilled.operp.server.data.service.account.ReceivedTransactionService;
@Configuration
public class AccountRmiContext {
@Inject
private PayableAccountService payableAccountService;
@Inject
private ReceivableAccountService receivableAccountService;
@Inject
private PaidTransactionService paidTransactionService;
@Inject
private ReceivedTransactionService receivedTransactionService;
@Bean
public RmiServiceExporter rmiPayableAccountServiceExporter() {
RmiServiceExporter rmiServiceExportor = new RmiServiceExporter();
rmiServiceExportor.setServiceInterface(PayableAccountService.class);
String serviceName = rmiServiceExportor.getServiceInterface()
.getCanonicalName();
rmiServiceExportor.setServiceName(serviceName);
rmiServiceExportor.setService(payableAccountService);
rmiServiceExportor.setRegistryPort(1099);
return rmiServiceExportor;
}
@Bean
public RmiServiceExporter rmiReceivableAccountServiceExporter() {
RmiServiceExporter rmiServiceExportor = new RmiServiceExporter();
rmiServiceExportor.setServiceInterface(ReceivableAccountService.class);
String serviceName = rmiServiceExportor.getServiceInterface()
.getCanonicalName();
rmiServiceExportor.setServiceName(serviceName);
rmiServiceExportor.setService(receivableAccountService);
rmiServiceExportor.setRegistryPort(1099);
return rmiServiceExportor;
}
@Bean
public RmiServiceExporter rmiPaidTransactionServiceExporter() {
RmiServiceExporter rmiServiceExportor = new RmiServiceExporter();
rmiServiceExportor.setServiceInterface(PaidTransactionService.class);
String serviceName = rmiServiceExportor.getServiceInterface()
.getCanonicalName();
rmiServiceExportor.setServiceName(serviceName);
rmiServiceExportor.setService(paidTransactionService);
rmiServiceExportor.setRegistryPort(1099);
return rmiServiceExportor;
}
@Bean
public RmiServiceExporter rmiReceivedTransactionServiceExporter() {
RmiServiceExporter rmiServiceExportor = new RmiServiceExporter();
rmiServiceExportor
.setServiceInterface(ReceivedTransactionService.class);
String serviceName = rmiServiceExportor.getServiceInterface()
.getCanonicalName();
rmiServiceExportor.setServiceName(serviceName);
rmiServiceExportor.setService(receivedTransactionService);
rmiServiceExportor.setRegistryPort(1099);
return rmiServiceExportor;
}
}