Add 2 projects with minimal dependencies

One for Spring Config with no webapp (noweb) and one for
Eureka (or noop discovery) with no web dependencies at all.
This commit is contained in:
Dave Syer
2015-02-09 13:31:48 +00:00
parent ddf9c5d59d
commit c3ce13501e
13 changed files with 432 additions and 7 deletions

View File

@@ -0,0 +1,16 @@
package demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author Spencer Gibb
* @author Dave Syer
*/
@SpringBootApplication
public class NotWebApplication {
public static void main(String[] args) {
SpringApplication.run(NotWebApplication.class, args);
}
}

View File

@@ -0,0 +1,6 @@
spring:
application:
name: standalone
server:
port: 7777

View File

@@ -0,0 +1,58 @@
package demo;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.noop.NoopDiscoveryClient;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import demo.DiscoveryNotWebApplicationTests.NoDiscoveryApplication;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = NoDiscoveryApplication.class)
public class DiscoveryNotWebApplicationTests {
@Autowired
private DiscoveryClient discoveryClient;
@Test
public void testDiscoveryClientIsNoop() {
assertTrue("discoveryClient is wrong instance type",
discoveryClient instanceof NoopDiscoveryClient);
}
/*
* This works because the NoopDiscoveryClient is installed if there is no @EnableDiscoveryClient
* *and* there is no implementation on the classpath
*/
@SpringBootApplication
protected static class NoDiscoveryApplication implements CommandLineRunner {
private static Log logger = LogFactory.getLog(NotWebApplication.class);
@Autowired
private DiscoveryClient client;
@Override
public void run(String... args) throws Exception {
List<String> services = new ArrayList<String>();
for (ServiceInstance instance : client.getAllInstances()) {
services.add(instance.getServiceId());
}
logger.info("Services: " + services);
}
}
}

View File

@@ -0,0 +1,18 @@
package demo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = NotWebApplication.class)
@DirtiesContext
public class NotWebApplicationTests {
@Test
public void testContextLoads() {
}
}