use of com.yahoo.documentapi.messagebus.MessageBusParams in project vespa by vespa-engine.
the class DummyReceiver method init.
public void init() {
MessageBusParams params = new MessageBusParams(new LoadTypeSet());
params.setRPCNetworkParams(new RPCNetworkParams().setIdentity(new Identity(name)));
params.setDocumentManagerConfigId("client");
params.getMessageBusParams().setMaxPendingCount(maxPendingCount);
params.getMessageBusParams().setMaxPendingSize(0);
da = new MessageBusDocumentAccess(params);
queue = (maxQueueTime < 0) ? new LinkedBlockingDeque<>() : new ThroughputLimitQueue<>(maxQueueTime);
session = da.getMessageBus().createDestinationSession("default", true, this);
executor = new ThreadPoolExecutor(threads, threads, 5, TimeUnit.SECONDS, queue, new DaemonThreadFactory());
System.out.println("Registered listener at " + name + "/default with " + maxPendingCount + " max pending and sleep time of " + sleepTime);
}
use of com.yahoo.documentapi.messagebus.MessageBusParams in project vespa by vespa-engine.
the class VdsVisitTarget method run.
@SuppressWarnings("unchecked")
public void run() throws Exception {
initShutdownHook();
log.log(LogLevel.DEBUG, "Starting VdsVisitTarget");
MessageBusParams mbusParams = new MessageBusParams(new LoadTypeSet());
mbusParams.getRPCNetworkParams().setIdentity(new Identity(slobrokAddress));
if (port > 0) {
mbusParams.getRPCNetworkParams().setListenPort(port);
}
access = new MessageBusDocumentAccess(mbusParams);
VdsVisitHandler handler;
Class<?> cls = Thread.currentThread().getContextClassLoader().loadClass(handlerClassName);
try {
// Any custom data handlers may have a constructor that takes in args,
// so that the user can pass cmd line options to them
Class<?>[] consTypes = new Class<?>[] { boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, int.class, String[].class };
Constructor<?> cons = cls.getConstructor(consTypes);
handler = (VdsVisitHandler) cons.newInstance(printIds, verbose, verbose, verbose, false, false, processTime, handlerArgs);
} catch (NoSuchMethodException e) {
// Retry, this time matching the StdOutVisitorHandler constructor
// arg list
Class<?>[] consTypes = new Class<?>[] { boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, int.class, boolean.class };
Constructor<?> cons = cls.getConstructor(consTypes);
handler = (VdsVisitHandler) cons.newInstance(printIds, verbose, verbose, verbose, false, false, processTime, false);
}
VisitorDataHandler dataHandler = handler.getDataHandler();
VisitorControlHandler controlHandler = handler.getControlHandler();
VisitorDestinationParameters params = new VisitorDestinationParameters("visit-destination", dataHandler);
session = access.createVisitorDestinationSession(params);
while (!controlHandler.isDone()) {
Thread.sleep(1000);
}
}
use of com.yahoo.documentapi.messagebus.MessageBusParams in project vespa by vespa-engine.
the class DocumentRetriever method retrieveDocuments.
public void retrieveDocuments() throws DocumentRetrieverException {
boolean first = true;
String route = params.cluster.isEmpty() ? params.route : resolveClusterRoute(params.cluster);
LoadType loadType = params.loadTypeName.isEmpty() ? null : resolveLoadType(params.loadTypeName);
MessageBusParams messageBusParams = createMessageBusParams(params.configId, params.timeout, route);
documentAccess = documentAccessFactory.createDocumentAccess(messageBusParams);
session = documentAccess.createSyncSession(new SyncParameters.Builder().build());
int trace = params.traceLevel;
if (trace > 0) {
session.setTraceLevel(trace);
}
Iterator<String> iter = params.documentIds;
if (params.jsonOutput && !params.printIdsOnly) {
System.out.println('[');
}
while (iter.hasNext()) {
if (params.jsonOutput && !params.printIdsOnly) {
if (!first) {
System.out.println(',');
} else {
first = false;
}
}
String docid = iter.next();
Message msg = createDocumentRequest(docid, loadType);
Reply reply = session.syncSend(msg);
printReply(reply);
}
if (params.jsonOutput && !params.printIdsOnly) {
System.out.println(']');
}
}
use of com.yahoo.documentapi.messagebus.MessageBusParams in project vespa by vespa-engine.
the class DocumentRetriever method createMessageBusParams.
private MessageBusParams createMessageBusParams(String configId, double timeout, String route) {
MessageBusParams messageBusParams = new MessageBusParams(loadTypeSet);
messageBusParams.setRoute(route);
messageBusParams.setProtocolConfigId(configId);
messageBusParams.setRoutingConfigId(configId);
messageBusParams.setDocumentManagerConfigId(configId);
if (timeout > 0) {
messageBusParams.getSourceSessionParams().setTimeout(timeout);
}
return messageBusParams;
}
use of com.yahoo.documentapi.messagebus.MessageBusParams in project vespa by vespa-engine.
the class MessageBusDocumentApiTestCase method setUp.
@Before
public void setUp() throws ListenFailedException {
slobrok = new Slobrok();
String slobrokConfigId = "raw:slobrok[1]\n" + "slobrok[0].connectionspec tcp/localhost:" + slobrok.port() + "\n";
MessageBusParams params = new MessageBusParams();
params.getRPCNetworkParams().setIdentity(new Identity("test/feeder"));
params.getRPCNetworkParams().setSlobrokConfigId(slobrokConfigId);
params.setDocumentManagerConfigId("file:src/test/cfg/documentmanager.cfg");
params.setRouteName("Route");
params.setRoutingConfigId("file:src/test/cfg/messagebus.cfg");
params.setTraceLevel(9);
params.setSourceSessionParams(new SourceSessionParams().setThrottlePolicy(null));
access = new MessageBusDocumentAccess(params);
destination = new VisitableDestination(slobrokConfigId, params.getDocumentManagerConfigId());
}
Aggregations