Commit bec1c8f0 authored by Phillip Webb's avatar Phillip Webb

Polish

parent d784cb6a
class Book {
String author
String title
}
\ No newline at end of file
String author
String title
}
class Book {
String author
String title
String author
String title
}
class BookTests {
@Test
void testBooks() {
Book book = new Book(author: "Tom Clancy", title: "Threat Vector")
assertEquals("Tom Clancy", book.author)
}
}
\ No newline at end of file
@Test
void testBooks() {
Book book = new Book(author: "Tom Clancy", title: "Threat Vector")
assertEquals("Tom Clancy", book.author)
}
}
......@@ -33,5 +33,4 @@ class FailingSpockTest extends Specification {
//throw new RuntimeException("This should fail!")
true == false
}
}
\ No newline at end of file
}
......@@ -34,15 +34,13 @@ class JmsExample implements CommandLineRunner {
jmsTemplate.send("spring-boot", messageCreator)
latch.await()
}
}
@Log
class Receiver {
CountDownLatch latch
def receive(String message) {
log.info "Received ${message}"
latch.countDown()
}
def receive(String message) {
log.info "Received ${message}"
latch.countDown()
}
}
......@@ -13,12 +13,12 @@ class JobConfig {
@Bean
protected Tasklet tasklet() {
return new Tasklet() {
@Override
RepeatStatus execute(StepContribution contribution, ChunkContext context) {
return RepeatStatus.FINISHED
}
}
return new Tasklet() {
@Override
RepeatStatus execute(StepContribution contribution, ChunkContext context) {
return RepeatStatus.FINISHED
}
}
}
@Bean
......@@ -31,5 +31,3 @@ class JobConfig {
return steps.get("step1").tasklet(tasklet()).build()
}
}
......@@ -7,58 +7,57 @@ import java.util.concurrent.CountDownLatch
@EnableRabbitMessaging
class RabbitExample implements CommandLineRunner {
private CountDownLatch latch = new CountDownLatch(1)
@Autowired
RabbitTemplate rabbitTemplate
private String queueName = "spring-boot"
@Bean
Queue queue() {
new Queue(queueName, false)
}
@Bean
TopicExchange exchange() {
new TopicExchange("spring-boot-exchange")
}
/**
* The queue and topic exchange cannot be inlined inside this method and have
* dynamic creation with Spring AMQP work properly.
*/
@Bean
Binding binding(Queue queue, TopicExchange exchange) {
BindingBuilder
.bind(queue)
.to(exchange)
.with("spring-boot")
}
@Bean
SimpleMessageListenerContainer container(CachingConnectionFactory connectionFactory) {
return new SimpleMessageListenerContainer(
connectionFactory: connectionFactory,
queueNames: [queueName],
messageListener: new MessageListenerAdapter(new Receiver(latch:latch), "receive")
)
}
void run(String... args) {
log.info "Sending RabbitMQ message..."
rabbitTemplate.convertAndSend(queueName, "Greetings from Spring Boot via RabbitMQ")
latch.await()
}
private CountDownLatch latch = new CountDownLatch(1)
@Autowired
RabbitTemplate rabbitTemplate
private String queueName = "spring-boot"
@Bean
Queue queue() {
new Queue(queueName, false)
}
@Bean
TopicExchange exchange() {
new TopicExchange("spring-boot-exchange")
}
/**
* The queue and topic exchange cannot be inlined inside this method and have
* dynamic creation with Spring AMQP work properly.
*/
@Bean
Binding binding(Queue queue, TopicExchange exchange) {
BindingBuilder
.bind(queue)
.to(exchange)
.with("spring-boot")
}
@Bean
SimpleMessageListenerContainer container(CachingConnectionFactory connectionFactory) {
return new SimpleMessageListenerContainer(
connectionFactory: connectionFactory,
queueNames: [queueName],
messageListener: new MessageListenerAdapter(new Receiver(latch:latch), "receive")
)
}
void run(String... args) {
log.info "Sending RabbitMQ message..."
rabbitTemplate.convertAndSend(queueName, "Greetings from Spring Boot via RabbitMQ")
latch.await()
}
}
@Log
class Receiver {
CountDownLatch latch
CountDownLatch latch
def receive(String message) {
log.info "Received ${message}"
latch.countDown()
}
def receive(String message) {
log.info "Received ${message}"
latch.countDown()
}
}
......@@ -5,12 +5,12 @@ import java.util.concurrent.CountDownLatch;
@EnableReactor
@Log
class Runner implements CommandLineRunner {
@Autowired
Reactor reactor
private CountDownLatch latch = new CountDownLatch(1)
@PostConstruct
void init() {
log.info "Registering consumer"
......@@ -21,12 +21,10 @@ class Runner implements CommandLineRunner {
log.info "Notified Phil"
latch.await()
}
@Selector(reactor="reactor", value="hello")
void receive(String data) {
log.info "Hello ${data}"
latch.countDown()
}
}
}
......@@ -6,5 +6,3 @@ class Runner implements CommandLineRunner {
print "Hello World!"
}
}
class HelloSpock extends Specification {
def "length of Spock's and his friends' names"() {
expect:
name.size() == length
def "length of Spock's and his friends' names"() {
expect:
name.size() == length
where:
name | length
"Spock" | 5
"Kirk" | 4
"Scotty" | 6
}
}
\ No newline at end of file
where:
name | length
"Spock" | 5
"Kirk" | 4
"Scotty" | 6
}
}
......@@ -21,5 +21,3 @@ class MyService {
return "World"
}
}
class BookTests {
@Test
void testBooks() {
Book book = new Book(author: "Tom Clancy", title: "Threat Vector")
assertEquals("Tom Clancy", book.author)
}
}
\ No newline at end of file
@Test
void testBooks() {
Book book = new Book(author: "Tom Clancy", title: "Threat Vector")
assertEquals("Tom Clancy", book.author)
}
}
......@@ -6,13 +6,12 @@ package org.test
@EnableTransactionManagement
class Example implements CommandLineRunner {
@Autowired
JdbcTemplate jdbcTemplate
@Transactional
void run(String... args) {
println "Foo count=" + jdbcTemplate.queryForObject("SELECT COUNT(*) from FOO", Integer)
}
@Autowired
JdbcTemplate jdbcTemplate
@Transactional
void run(String... args) {
println "Foo count=" + jdbcTemplate.queryForObject("SELECT COUNT(*) from FOO", Integer)
}
}
......@@ -19,5 +19,3 @@ class MyService {
return "World!";
}
}
......@@ -63,12 +63,19 @@ import org.springframework.core.io.ResourceLoader;
public class SpringApplicationBuilder {
private SpringApplication application;
private ConfigurableApplicationContext context;
private SpringApplicationBuilder parent;
private AtomicBoolean running = new AtomicBoolean(false);
private Set<Object> sources = new LinkedHashSet<Object>();
private Map<String, Object> defaultProperties = new LinkedHashMap<String, Object>();
private ConfigurableEnvironment environment;
private Set<String> additionalProfiles = new LinkedHashSet<String>();
private Set<ApplicationContextInitializer<?>> initializers = new LinkedHashSet<ApplicationContextInitializer<?>>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment