Fix flickering test.

This commit is contained in:
Tyler Benson 2017-12-26 12:39:09 -08:00
parent 5dda6844a5
commit eca6d89591
1 changed files with 4 additions and 1 deletions

View File

@ -12,6 +12,7 @@ import spock.lang.Unroll
import javax.jms.Connection import javax.jms.Connection
import javax.jms.Session import javax.jms.Session
import javax.jms.TextMessage import javax.jms.TextMessage
import java.util.concurrent.CountDownLatch
import java.util.concurrent.atomic.AtomicReference import java.util.concurrent.atomic.AtomicReference
class JMS1Test extends Specification { class JMS1Test extends Specification {
@ -162,16 +163,18 @@ class JMS1Test extends Specification {
@Unroll @Unroll
def "sending to a MessageListener on #resourceName generates a span"() { def "sending to a MessageListener on #resourceName generates a span"() {
setup: setup:
def lock = new CountDownLatch(1)
def messageRef = new AtomicReference<TextMessage>() def messageRef = new AtomicReference<TextMessage>()
def producer = session.createProducer(destination) def producer = session.createProducer(destination)
def consumer = session.createConsumer(destination) def consumer = session.createConsumer(destination)
consumer.setMessageListener { message -> consumer.setMessageListener { message ->
Thread.sleep(5) // Slow things down a bit. lock.await() // ensure the producer trace is reported first.
messageRef.set(message) messageRef.set(message)
} }
def message = session.createTextMessage("a message") def message = session.createTextMessage("a message")
producer.send(message) producer.send(message)
lock.countDown()
writer.waitForTraces(2) writer.waitForTraces(2)
expect: expect: