protected void triggerEvent(EventType eventType) { BootEvent event = new BootEvent(); event.setEventType(eventType); for (BootListener listener : bootListenerList) { listener.onBootEvent(event); } }
public String getRealTransportName() { return (endpoint != null) ? endpoint.getTransport().getName() : getConfigTransportName(); }
public void init() throws Exception { for (ConsumerProvider provider : consumerProviderList) { provider.init(); } }
@Override public void handle(Invocation invocation, AsyncResponse asyncResp) throws Exception { Transport transport = invocation.getTransport(); log.debug( "Sending request {} to {}", invocation.getMicroserviceQualifiedName(), invocation.getEndpoint().getEndpoint()); transport.send(invocation, asyncResp); } }
@Override protected Object createEndpoint(String transportName, String endpoint, MicroserviceInstance instance) { Transport transport = CseContext.getInstance().getTransportManager().findTransport(transportName); if (transport == null) { return null; } return new Endpoint(transport, endpoint, instance); } }
@Nullable @Override public String url(@Nonnull Invocation invocation) { return invocation.getEndpoint().getEndpoint(); }
@Override public void onBootEvent(BootEvent event) { if (EventType.BEFORE_CONSUMER_PROVIDER.equals(event.getEventType())) { // 动态注册schemas目录下面的契约到当前服务 DynamicSchemaLoader.INSTANCE.registerSchemas("appServer:appService", "classpath*:schemas/*.yaml"); } } }
@Override public void onBootEvent(BootEvent event) { if (!event.getEventType().equals(EventType.BEFORE_REGISTRY)) { return; } MicroserviceMeta microserviceMeta = microserviceMetaManager.getOrCreateMicroserviceMeta(RegistryUtils.getMicroservice()); ServicePathManager servicePathManager = ServicePathManager.getServicePathManager(microserviceMeta); if (servicePathManager != null) { servicePathManager.buildProducerPaths(); } }
public String getHost() { return endpoint.getEndpoint(); }
public static Invocation forConsumer(ReferenceConfig referenceConfig, OperationMeta operationMeta, Object[] swaggerArguments) { Invocation invocation = new Invocation(referenceConfig, operationMeta, swaggerArguments); invocation.addContext(Const.SRC_MICROSERVICE, getMicroserviceName()); return invocation; }
private void init(OperationMeta operationMeta, Object[] swaggerArguments) { this.schemaMeta = operationMeta.getSchemaMeta(); this.operationMeta = operationMeta; this.swaggerArguments = swaggerArguments; this.handlerList = getHandlerChain(); handlerIndex = 0; }
@Override protected String findTransportName(DiscoveryContext context, DiscoveryTreeNode parent) { Invocation invocation = context.getInputParameters(); return invocation.getConfigTransportName(); }
@Override protected Endpoint createEndpoint(Transport transport, CacheEndpoint cacheEndpoint) { return new Endpoint(transport, cacheEndpoint.getEndpoint(), cacheEndpoint.getInstance()); } }
public Invocation(ReferenceConfig referenceConfig, OperationMeta operationMeta, Object[] swaggerArguments) { this.invocationType = InvocationType.CONSUMER; this.referenceConfig = referenceConfig; init(operationMeta, swaggerArguments); }
/** * transport server收到请求时,创建invocation */ public static Invocation forProvider(Endpoint endpoint, OperationMeta operationMeta, Object[] swaggerArguments) { return new Invocation(endpoint, operationMeta, swaggerArguments); } }
public Endpoint(Transport transport, String endpoint, MicroserviceInstance instance) { this.transport = transport; this.endpoint = endpoint; this.instance = instance; this.address = transport.parseAddress(this.endpoint); }
@Nullable @Override public String url(@Nonnull Invocation invocation) { return invocation.getEndpoint().getEndpoint(); }
@Override public void onBootEvent(BootEvent event) { if (EventType.BEFORE_PRODUCER_PROVIDER.equals(event.getEventType())) { // 动态注册schemas目录下面的契约到当前服务 DynamicSchemaLoader.INSTANCE.registerSchemas("classpath*:schemas/*.yaml"); } } }
public String toString() { return endpoint.getEndpoint(); }
public Invocation(Endpoint endpoint, OperationMeta operationMeta, Object[] swaggerArguments) { this.invocationType = InvocationType.PRODUCER; this.endpoint = endpoint; init(operationMeta, swaggerArguments); }