Fix flickering test.
This commit is contained in:
parent
5dda6844a5
commit
eca6d89591
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue