this.dataProvider = requireNonNull(dataProvider);
this.rpcProviderService = requireNonNull(rpcProviderService);
this.rpcImplementation = requireNonNull(rpcImplementation);
+
+ // Add global registration
+ regs.add(rpcProviderService.registerRpcImplementation(CarPurchaseService.class, rpcImplementation));
}
@Override
*/
package org.opendaylight.controller.clustering.it.provider;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import org.slf4j.LoggerFactory;
public class PurchaseCarProvider implements CarPurchaseService, AutoCloseable {
-
private static final Logger LOG = LoggerFactory.getLogger(PurchaseCarProvider.class);
- private NotificationPublishService notificationProvider;
-
+ private final NotificationPublishService notificationProvider;
- public void setNotificationProvider(final NotificationPublishService salService) {
- this.notificationProvider = salService;
+ public PurchaseCarProvider(final NotificationPublishService notificationProvider) {
+ this.notificationProvider = requireNonNull(notificationProvider);
}
-
@Override
public ListenableFuture<RpcResult<BuyCarOutput>> buyCar(final BuyCarInput input) {
LOG.info("Routed RPC buyCar : generating notification for buying car [{}]", input);
@Override
public void close() {
+
}
}
<bean id="purchaseCarProvider" class="org.opendaylight.controller.clustering.it.provider.PurchaseCarProvider" >
- <property name="notificationProvider" ref="notificationPublishService"/>
+ <argument ref="notificationPublishService"/>
</bean>
- <!-- odl:routed-rpc-implementation id="carPurchaseRpcReg" ref="purchaseCarProvider"/ -->
-
<bean id="peopleProvider" class="org.opendaylight.controller.clustering.it.provider.PeopleProvider"
destroy-method="close">
<argument ref="dataBroker"/>