@Override public AddRawServicePhase defineService( final Service service, final String path, final ServiceBindingProvider provider) { final ServiceBuilder builder = defineService(service, path); provider.configureService(builder); builder.addService(); return this; }
@Override public AddServiceFromContextPhase defineServiceFromContext( final String ctxName, final Class<? extends Service> serviceType, final String path, final boolean bindPrefix, final ContextBasedServiceBindingProvider provider) { final Service service = ctx.getBean(ctxName, serviceType); final ServiceBuilder builder = new ServiceBuilder(service, path, bindPrefix); provider.configureService(builder); builder.addService(); return this; }
@Override public ServiceConfiguration apply(final ServiceId arg0) { final Component comp = Components.lookup(arg0.getType()); try { return comp.lookup(arg0.getName()); } catch (final NoSuchElementException ex1) { final ServiceBuilder<? extends ServiceConfiguration> builder = ServiceBuilders.lookup(comp.getComponentId()); try { final URI uri = new URI(arg0.getUri()); ServiceConfiguration config = builder.newInstance( arg0.getPartition(), arg0.getName(), uri.getHost(), uri.getPort()); comp.setup(config); return config; } catch (final URISyntaxException ex) { LOG.error(ex, ex); throw Exceptions.toUndeclared(ex); } } }
/** * Creates a new single tiered Service * * @param workload * @param cores * @param coreCapacity * @param memory * @param bandwidth * @param storage * @param cpuPerWork * @param bwPerWork * @param cpuOverhead * @param tierMin * @param tierMax * @return */ public static Service singleTierInteractiveService( Workload workload, int cores, int coreCapacity, int memory, int bandwidth, long storage, double cpuPerWork, double bwPerWork, double cpuOverhead, int tierMin, int tierMax) { InteractiveApplicationTier appTier = new InteractiveApplicationTier(memory, storage, cpuPerWork, bwPerWork, cpuOverhead); appTier.setLoadBalancer(new EqualShareLoadBalancer()); VMDescription vmDescription = new VMDescription(cores, coreCapacity, memory, bandwidth, storage, appTier); ServiceBuilder builder = new ServiceBuilder().workload(workload).tier(appTier, vmDescription, tierMin, tierMax); return builder.build(); }