routed-rpc used to create a global registration, which we lost
during migration. Fix that.
JIRA: CONTROLLER-1947
Change-Id: Ifa3a13d8bb2a6caab9d58dd97903186c7c27dfed
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
this.dataProvider = requireNonNull(dataProvider);
this.rpcProviderService = requireNonNull(rpcProviderService);
this.rpcImplementation = requireNonNull(rpcImplementation);
this.dataProvider = requireNonNull(dataProvider);
this.rpcProviderService = requireNonNull(rpcProviderService);
this.rpcImplementation = requireNonNull(rpcImplementation);
+
+ // Add global registration
+ regs.add(rpcProviderService.registerRpcImplementation(CarPurchaseService.class, rpcImplementation));
*/
package org.opendaylight.controller.clustering.it.provider;
*/
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 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 {
import org.slf4j.LoggerFactory;
public class PurchaseCarProvider implements CarPurchaseService, AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(PurchaseCarProvider.class);
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 ListenableFuture<RpcResult<BuyCarOutput>> buyCar(final BuyCarInput input) {
LOG.info("Routed RPC buyCar : generating notification for buying car [{}]", input);
@Override
public void close() {
@Override
public void close() {
<bean id="purchaseCarProvider" class="org.opendaylight.controller.clustering.it.provider.PurchaseCarProvider" >
<bean id="purchaseCarProvider" class="org.opendaylight.controller.clustering.it.provider.PurchaseCarProvider" >
- <property name="notificationProvider" ref="notificationPublishService"/>
+ <argument ref="notificationPublishService"/>
- <!-- 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"/>
<bean id="peopleProvider" class="org.opendaylight.controller.clustering.it.provider.PeopleProvider"
destroy-method="close">
<argument ref="dataBroker"/>