Java源码示例:com.netflix.eureka.EurekaServerContextHolder
示例1
@Override
public TxManagerInfo findTxManagerInfo() {
TxManagerInfo txManagerInfo = new TxManagerInfo();
//设置ip为eureka 上注册的TxManager ip
String ip = EurekaServerContextHolder.getInstance()
.getServerContext().getApplicationInfoManager()
.getEurekaInstanceConfig().getIpAddress();
txManagerInfo.setIp(ip);
txManagerInfo.setPort(nettyConfig.getPort());
txManagerInfo.setMaxConnection(SocketManager.getInstance().getMaxConnection());
txManagerInfo.setNowConnection(SocketManager.getInstance().getNowConnection());
txManagerInfo.setTransactionWaitMaxTime(transactionWaitMaxTime);
txManagerInfo.setRedisSaveMaxTime(redisSaveMaxTime);
txManagerInfo.setClusterInfoList(findEurekaService());
return txManagerInfo;
}
示例2
@Override
public TxState getState() {
TxState state = new TxState();
String ipAddress = EurekaServerContextHolder.getInstance().getServerContext().getApplicationInfoManager().getEurekaInstanceConfig().getIpAddress();
if(!isIp(ipAddress)){
ipAddress = "127.0.0.1";
}
state.setIp(ipAddress);
state.setPort(Constants.socketPort);
state.setMaxConnection(SocketManager.getInstance().getMaxConnection());
state.setNowConnection(SocketManager.getInstance().getNowConnection());
state.setRedisSaveMaxTime(redis_save_max_time);
state.setTransactionNettyDelayTime(transaction_netty_delay_time);
state.setTransactionNettyHeartTime(transaction_netty_heart_time);
state.setSlbList(getServices());
return state;
}
示例3
protected void initEurekaServerContext() throws Exception {
// For backward compatibility
JsonXStream.getInstance().registerConverter(new V1AwareInstanceInfoConverter(),
XStream.PRIORITY_VERY_HIGH);
XmlXStream.getInstance().registerConverter(new V1AwareInstanceInfoConverter(),
XStream.PRIORITY_VERY_HIGH);
if (isAws(this.applicationInfoManager.getInfo())) {
this.awsBinder = new AwsBinderDelegate(this.eurekaServerConfig,
this.eurekaClientConfig, this.registry, this.applicationInfoManager);
this.awsBinder.start();
}
EurekaServerContextHolder.initialize(this.serverContext);
log.info("Initialized server context");
// Copy registry from neighboring eureka node
int registryCount = this.registry.syncUp();
this.registry.openForTraffic(this.applicationInfoManager, registryCount);
// Register all monitoring statistics.
EurekaMonitors.registerAllStats();
}
示例4
protected void initEurekaServerContext() throws Exception {
// For backward compatibility
JsonXStream.getInstance().registerConverter(new V1AwareInstanceInfoConverter(),
XStream.PRIORITY_VERY_HIGH);
XmlXStream.getInstance().registerConverter(new V1AwareInstanceInfoConverter(),
XStream.PRIORITY_VERY_HIGH);
if (isAws(this.applicationInfoManager.getInfo())) {
this.awsBinder = new AwsBinderDelegate(this.eurekaServerConfig,
this.eurekaClientConfig, this.registry, this.applicationInfoManager);
this.awsBinder.start();
}
EurekaServerContextHolder.initialize(this.serverContext);
log.info("Initialized server context");
// Copy registry from neighboring eureka node
int registryCount = this.registry.syncUp();
this.registry.openForTraffic(this.applicationInfoManager, registryCount);
// Register all monitoring statistics.
EurekaMonitors.registerAllStats();
}
示例5
/**
* 获取eureka注册节点
*
* @return List<AnalyzeInstance>
*/
public static List<AnalyzeInstance> getRegisterNodes() {
PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
Applications applications = registry.getApplications();
List<AnalyzeInstance> analyzes = new ArrayList<>();
applications.getRegisteredApplications().forEach((registeredApplication) -> {
registeredApplication.getInstances().forEach((instance) -> {
AnalyzeInstance analyzeInstance = new AnalyzeInstance(instance.getIPAddr(), instance.getPort());
analyzes.add(analyzeInstance);
});
});
return analyzes;
}
示例6
/**
* 服务实例注册事件
* @param event
*/
@EventListener
public void listen(EurekaInstanceRegisteredEvent event) {
/**
* 获取当前已注册的所有服务器实例
*/
int total = EurekaServerContextHolder.getInstance().getServerContext().getRegistry().getSortedApplications().size();
// event.getInstanceInfo().getActionType()
log.info("服务实例[{}]注册成功,当前服务器已注册服务实例数量[{}]", event.getInstanceInfo().getAppName(), total);
}
示例7
@Before
public void setUp() {
mockRegistry = mock(PeerAwareInstanceRegistry.class);
EurekaServerContext mockEurekaServerContext = mock(EurekaServerContext.class);
when(mockEurekaServerContext.getRegistry()).thenReturn(mockRegistry);
EurekaServerContextHolder.initialize(mockEurekaServerContext);
}
示例8
@Test
public void testFindServicesInDirectoryNoFiles() {
EurekaServerContext mockEurekaServerContext = mock(EurekaServerContext.class);
EurekaServerContextHolder.initialize(mockEurekaServerContext);
ServiceDefinitionProcessor serviceDefinitionProcessor = new ServiceDefinitionProcessor();
StaticServicesRegistrationService registrationService = new StaticServicesRegistrationService(serviceDefinitionProcessor, new MetadataDefaultsService());
StaticRegistrationResult result = registrationService.registerServices(folder.getRoot().getAbsolutePath());
assertEquals(0, result.getInstances().size());
}
示例9
@Before
public void setUp() {
mockRegistry = mock(PeerAwareInstanceRegistry.class);
doAnswer(x -> {
EurekaInstanceRegisteredEvent event = mock(EurekaInstanceRegisteredEvent.class);
when(event.getInstanceInfo()).thenReturn(x.getArgument(0));
eurekaInstanceRegisteredListener.listen(event);
return mockRegistry;
}).when(mockRegistry).register(any(), anyBoolean());
EurekaServerContext mockEurekaServerContext = mock(EurekaServerContext.class);
when(mockEurekaServerContext.getRegistry()).thenReturn(mockRegistry);
EurekaServerContextHolder.initialize(mockEurekaServerContext);
}
示例10
@Before
public void setUp() {
EurekaServerContext context = mock(EurekaServerContext.class);
registry = mock(AwsInstanceRegistry.class);
when(context.getRegistry()).thenReturn(registry);
EurekaServerContextHolder.initialize(context);
restTemplate = mock(RestTemplate.class);
messageService = mock(MessageService.class);
gatewayNotifierSync = new GatewayNotifierSync(restTemplate, messageService);
}
示例11
/**
* 获取eureka注册节点
*
* @return List<AnalyzeInstance>
*/
public static List<AnalyzeInstance> getRegisterNodes() {
PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
Applications applications = registry.getApplications();
List<AnalyzeInstance> analyzes = new ArrayList<>();
applications.getRegisteredApplications().forEach((registeredApplication) -> {
registeredApplication.getInstances().forEach((instance) -> {
AnalyzeInstance analyzeInstance = new AnalyzeInstance(instance.getIPAddr(), instance.getPort());
analyzes.add(analyzeInstance);
});
});
return analyzes;
}
示例12
@Before
public void setup() throws Exception {
PeerEurekaNodes peerEurekaNodes = mock(PeerEurekaNodes.class);
when(peerEurekaNodes.getPeerNodesView()).thenReturn(Collections.<PeerEurekaNode>emptyList());
InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder()
.setAppName("test")
.setDataCenterInfo(new MyDataCenterInfo(DataCenterInfo.Name.MyOwn))
.build();
this.infoManager = mock(ApplicationInfoManager.class);
this.original = ApplicationInfoManager.getInstance();
setInstance(this.infoManager);
when(this.infoManager.getInfo()).thenReturn(instanceInfo);
Application myapp = new Application("myapp");
myapp.addInstance(InstanceInfo.Builder.newBuilder()
.setAppName("myapp")
.setDataCenterInfo(new MyDataCenterInfo(DataCenterInfo.Name.MyOwn))
.setInstanceId("myapp:1")
.build());
ArrayList<Application> applications = new ArrayList<>();
applications.add(myapp);
PeerAwareInstanceRegistry registry = mock(PeerAwareInstanceRegistry.class);
when(registry.getSortedApplications()).thenReturn(applications);
EurekaServerContext serverContext = mock(EurekaServerContext.class);
EurekaServerContextHolder.initialize(serverContext);
when(serverContext.getRegistry()).thenReturn(registry);
when(serverContext.getPeerEurekaNodes()).thenReturn(peerEurekaNodes);
when(serverContext.getApplicationInfoManager()).thenReturn(this.infoManager);
}
示例13
@Before
public void setup() throws Exception {
PeerEurekaNodes peerEurekaNodes = mock(PeerEurekaNodes.class);
when(peerEurekaNodes.getPeerNodesView())
.thenReturn(Collections.<PeerEurekaNode>emptyList());
InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder().setAppName("test")
.setDataCenterInfo(new MyDataCenterInfo(DataCenterInfo.Name.MyOwn))
.build();
this.infoManager = mock(ApplicationInfoManager.class);
this.original = ApplicationInfoManager.getInstance();
setInstance(this.infoManager);
when(this.infoManager.getInfo()).thenReturn(instanceInfo);
Application myapp = new Application("myapp");
myapp.addInstance(InstanceInfo.Builder.newBuilder().setAppName("myapp")
.setDataCenterInfo(new MyDataCenterInfo(DataCenterInfo.Name.MyOwn))
.setInstanceId("myapp:1").build());
ArrayList<Application> applications = new ArrayList<>();
applications.add(myapp);
PeerAwareInstanceRegistry registry = mock(PeerAwareInstanceRegistry.class);
when(registry.getSortedApplications()).thenReturn(applications);
EurekaServerContext serverContext = mock(EurekaServerContext.class);
EurekaServerContextHolder.initialize(serverContext);
when(serverContext.getRegistry()).thenReturn(registry);
when(serverContext.getPeerEurekaNodes()).thenReturn(peerEurekaNodes);
when(serverContext.getApplicationInfoManager()).thenReturn(this.infoManager);
}
示例14
private EurekaServerContext getServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}
示例15
private EurekaServerContext getServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}
示例16
private EurekaServerContext getServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}
示例17
private EurekaServerContext getServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}
示例18
private EurekaServerContext getServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}
示例19
private EurekaServerContext getServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}
示例20
static public EurekaServerContext getEurekaServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}
示例21
private EurekaServerContext getServerContext() {
return EurekaServerContextHolder.getInstance().getServerContext();
}