2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.config.yang.config.remote_rpc_connector;
11 import akka.actor.ActorSystem;
12 import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService;
13 import org.opendaylight.controller.remote.rpc.RemoteRpcProvider;
14 import org.opendaylight.controller.remote.rpc.RemoteRpcProviderConfig;
15 import org.opendaylight.controller.remote.rpc.RemoteRpcProviderFactory;
16 import org.opendaylight.controller.sal.core.api.Broker;
17 import org.osgi.framework.BundleContext;
19 public class RemoteRPCBrokerModule extends org.opendaylight.controller.config.yang.config.remote_rpc_connector.AbstractRemoteRPCBrokerModule {
20 private BundleContext bundleContext;
21 public RemoteRPCBrokerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
22 super(identifier, dependencyResolver);
25 public RemoteRPCBrokerModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.remote_rpc_connector.RemoteRPCBrokerModule oldModule, java.lang.AutoCloseable oldInstance) {
26 super(identifier, dependencyResolver, oldModule, oldInstance);
30 public void customValidation() {
31 // add custom validation form module attributes here.
35 public boolean canReuseInstance(AbstractRemoteRPCBrokerModule oldModule) {
40 public java.lang.AutoCloseable createInstance() {
41 Broker broker = getDomBrokerDependency();
43 ActorSystem actorSystem = getActorSystemProviderDependency().getActorSystem();
44 RemoteRpcProviderConfig config = new RemoteRpcProviderConfig.Builder(actorSystem.name())
45 .metricCaptureEnabled(getEnableMetricCapture())
46 .mailboxCapacity(getBoundedMailboxCapacity())
49 RemoteRpcProvider rpcProvider = RemoteRpcProviderFactory.createInstance((DOMRpcProviderService)broker,
51 broker.registerProvider(rpcProvider);
55 public void setBundleContext(BundleContext bundleContext) {
56 this.bundleContext = bundleContext;