/** * @return an {@link Injector} which has {@link LocalMessageDispatcher} for testing. * @throws InjectionException when failed to inject {@link LocalMessageDispatcher} */ public static Injector getInjector() throws InjectionException { return forkInjector(TANG.newInjector()); }
/** * @return an {@link Injector} which has {@link LocalMessageDispatcher} for testing. * @throws InjectionException when failed to inject {@link LocalMessageDispatcher} */ public static Injector getInjector() throws InjectionException { return forkInjector(TANG.newInjector()); }
/** * Extracts a task id from the given configuration. * * @param config * @return the task id in the given configuration. * @throws RuntimeException if the configuration can't be parsed. */ public static String getTaskId(final Configuration config) { try { return Tang.Factory.getTang().newInjector(config).getNamedInstance(TaskConfigurationOptions.Identifier.class); } catch (final InjectionException ex) { throw new RuntimeException("Unable to determine task identifier. Giving up.", ex); } }
/** * Extracts a context id from the given configuration. * * @param c * @return the context id in the given configuration. * @throws RuntimeException if the configuration can't be parsed. */ public static String getIdentifier(final Configuration c) { try { return Tang.Factory.getTang().newInjector(c).getNamedInstance( ContextIdentifier.class); } catch (final InjectionException e) { throw new RuntimeException("Unable to determine context identifier. Giving up.", e); } }
/** * Instantiate a launcher for the given Configuration. * * @param runtimeConfiguration the resourcemanager configuration to be used * @return a DriverLauncher based on the given resourcemanager configuration * @throws InjectionException on configuration errors */ public static DriverLauncher getLauncher(final Configuration runtimeConfiguration) throws InjectionException { return Tang.Factory.getTang() .newInjector(runtimeConfiguration, CLIENT_CONFIG) .getInstance(DriverLauncher.class); }
/** * Extracts the queue name from the driverConfiguration or return default if none is set. * * @param driverConfiguration The drievr configuration * @return the queue name from the driverConfiguration or return default if none is set. */ private String getQueue(final Configuration driverConfiguration) { try { return Tang.Factory.getTang().newInjector(driverConfiguration).getNamedInstance(JobQueue.class); } catch (final InjectionException e) { return this.defaultQueueName; } }
private String taskId(final Configuration partialTaskConf) { try { final Injector injector = Tang.Factory.getTang().newInjector(partialTaskConf); return injector.getNamedInstance(TaskConfigurationOptions.Identifier.class); } catch (final InjectionException e) { throw new RuntimeException(getQualifiedName() + "Injection exception while extracting taskId from partialTaskConf", e); } }
public static void main(final String[] args) throws BindException, InjectionException { final Tang tang = Tang.Factory.getTang(); final JavaConfigurationBuilder cb = tang.newConfigurationBuilder(); final Configuration conf = cb.build(); final Injector injector = tang.newInjector(conf); final TimerV1 timer = injector.getInstance(TimerV1.class); try { System.out.println("Tick..."); timer.sleep(); System.out.println("Tock."); } catch (final InterruptedException e) { e.printStackTrace(); } }
/** * Extract the queue name from the jobSubmissionEvent or return default if none is set. */ private String getQueue(final JobSubmissionEvent jobSubmissionEvent) { try { return Tang.Factory.getTang().newInjector( jobSubmissionEvent.getConfiguration()).getNamedInstance(JobQueue.class); } catch (final InjectionException e) { return this.defaultQueueName; } } }
public static void main(final String[] args) throws BindException, InjectionException, InterruptedException { final Configuration c = TimerMock.CONF .set(TimerMockConf.MOCK_SLEEP_TIME, 1) .build(); final Timer t = Tang.Factory.getTang().newInjector(c).getInstance(Timer.class); System.out.println("Tick..."); t.sleep(); System.out.println("...tock."); }
private static Optional<String> getUserBoundJobSubmissionDirectory(final Configuration configuration) { try { return Optional.ofNullable(Tang.Factory.getTang().newInjector(configuration) .getNamedInstance(DriverJobSubmissionDirectory.class)); } catch (final InjectionException ex) { return Optional.empty(); } }
/** * The starting point of the executor. */ public static void main(final String[] args) throws Exception { final Injector injector = Tang.Factory.getTang().newInjector(parseCommandLine(args)); final REEFExecutor reefExecutor = injector.getInstance(REEFExecutor.class); reefExecutor.onStart(); } }
/** * Fetch scheduler configuration. * @param jobConf job configuration. * @return the scheduler configuration. * @throws ClassNotFoundException exception while finding the class. * @throws InjectionException exception while injection (REEF Tang). */ private static Configuration getSchedulerConf(final Configuration jobConf) throws ClassNotFoundException, InjectionException { final Injector injector = TANG.newInjector(jobConf); final String classImplName = injector.getNamedInstance(JobConf.SchedulerImplClassName.class); final JavaConfigurationBuilder jcb = Tang.Factory.getTang().newConfigurationBuilder(); final Class schedulerImpl = ((Class<Scheduler>) Class.forName(classImplName)); jcb.bindImplementation(Scheduler.class, schedulerImpl); return jcb.build(); }
public static void main(final String[] args) throws Exception { setupLogging(); Tang.Factory.getTang() .newInjector(UnsafeHDInsightRuntimeConfiguration.fromEnvironment()) .getInstance(HDICLI.class).run(args); }
/** * Get all evaluator ids and send it back to response as JSON. */ private void writeEvaluatorsJsonOutput(final HttpServletResponse response) throws IOException { LOG.log(Level.INFO, "HttpServerReefEventHandler writeEvaluatorsJsonOutput is called"); try { final EvaluatorListSerializer serializer = Tang.Factory.getTang().newInjector().getInstance(EvaluatorListSerializer.class); final AvroEvaluatorList evaluatorList = serializer.toAvro( this.reefStateManager.getEvaluators(), this.reefStateManager.getEvaluators().size(), this.reefStateManager.getStartTime()); writeResponse(response, serializer.toString(evaluatorList)); } catch (final InjectionException e) { LOG.log(Level.SEVERE, "Error in injecting EvaluatorListSerializer.", e); writeResponse(response, "Error in injecting EvaluatorListSerializer: " + e); } }
/** * Write Evaluator info as JSON format to HTTP Response. */ private void writeEvaluatorInfoJsonOutput( final HttpServletResponse response, final List<String> ids) throws IOException { try { final EvaluatorInfoSerializer serializer = Tang.Factory.getTang().newInjector().getInstance(EvaluatorInfoSerializer.class); final AvroEvaluatorsInfo evaluatorsInfo = serializer.toAvro(ids, this.reefStateManager.getEvaluators()); writeResponse(response, serializer.toString(evaluatorsInfo)); } catch (final InjectionException e) { LOG.log(Level.SEVERE, "Error in injecting EvaluatorInfoSerializer.", e); writeResponse(response, "Error in injecting EvaluatorInfoSerializer: " + e); } }
/** * Write Driver Info as JSON string to Response. */ private void writeDriverJsonInformation(final HttpServletResponse response) throws IOException { LOG.log(Level.INFO, "HttpServerReefEventHandler writeDriverJsonInformation invoked."); try { final DriverInfoSerializer serializer = Tang.Factory.getTang().newInjector().getInstance(DriverInfoSerializer.class); final AvroDriverInfo driverInfo = serializer.toAvro( this.reefStateManager.getDriverEndpointIdentifier(), this.reefStateManager.getStartTime(), this.reefStateManager.getServicesInfo()); writeResponse(response, serializer.toString(driverInfo)); } catch (final InjectionException e) { LOG.log(Level.SEVERE, "Error in injecting DriverInfoSerializer.", e); writeResponse(response, "Error in injecting DriverInfoSerializer: " + e); } }
/** * Instantiate REEF Launcher. This method is called from REEFLauncher.main(). * @param clockConfigPath Path to the local file that contains serialized configuration * of a REEF component to launch (can be either Driver or Evaluator). * @return An instance of the configured REEFLauncher object. */ private static REEFLauncher getREEFLauncher(final String clockConfigPath) { try { final Configuration clockArgConfig = TANG.newConfigurationBuilder() .bindNamedParameter(ClockConfigurationPath.class, clockConfigPath) .build(); return TANG.newInjector(clockArgConfig).getInstance(REEFLauncher.class); } catch (final BindException ex) { throw fatal("Error in parsing the command line", ex); } catch (final InjectionException ex) { throw fatal("Unable to instantiate REEFLauncher.", ex); } }
@Inject private TopologyFactory(@Parameter(GroupCommSenderStage.class) final EStage<GroupCommunicationMessage> senderStage, @Parameter(CommGroupNameClass.class) final Class<? extends Name<String>> groupName, @Parameter(DriverIdentifier.class) final String driverId, @Parameter(CommGroupNumTask.class) final int numberOfTasks, @Parameter(TreeTopologyFanOut.class) final int fanOut) { injector = Tang.Factory.getTang().newInjector(); injector.bindVolatileParameter(GroupCommSenderStage.class, senderStage); injector.bindVolatileParameter(CommGroupNameClass.class, groupName); injector.bindVolatileParameter(DriverIdentifier.class, driverId); injector.bindVolatileParameter(CommGroupNumTask.class, numberOfTasks); injector.bindVolatileParameter(TreeTopologyFanOut.class, fanOut); }
public static void main(final String[] argv) throws IOException, BindException, InjectionException { @SuppressWarnings("unchecked") final JavaConfigurationBuilder cb = Tang.Factory.getTang().newConfigurationBuilder( (Class<? extends ExternalConstructor<?>>[]) new Class[]{FileParser.class}); final CommandLine cl = new CommandLine(cb); cl.processCommandLine(argv, Target.class, ClassHierarchyIn.class, ConfigurationIn.class, ConfigurationOut.class); final ValidateConfiguration bip = Tang.Factory.getTang().newInjector(cb.build()).getInstance(ValidateConfiguration.class); bip.validatePlan(); }