You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Jarek Gawor <jg...@gmail.com> on 2007/02/09 22:27:01 UTC

JMS unit tests

Quick question: the JMS unit tests require an external server to be
running in background in order for them to pass?

Here's what I'm seeing:

java.io.IOException: javax.jms.JMSException: Could not connect to broker URL: tc
p://localhost:61500. Reason: java.net.ConnectException: Connection refused: conn
ect
        at org.apache.cxf.transport.jms.JMSConduit.send(JMSConduit.java:90)
        at org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage(Abstrac
tJMSTester.java:83)


Jarek

Re: JMS unit tests

Posted by Dan Diephouse <da...@envoisolutions.com>.
What happens if you bump that value up to a couple seconds?

On 2/12/07, Jarek Gawor <jg...@gmail.com> wrote:
>
> Dan,
>
> I'm not sure if that's it but the following looks weird (in
> JMSBrokerSetup.java):
>
>                 synchronized (this) {
>                     broker.setPersistenceAdapter(new
> MemoryPersistenceAdapter());
>                     broker.addConnector(brokerUrl);
>                     broker.start();
>                     Thread.sleep(200);  <---- why 200ms?
>                     notifyAll();
>                 }
>
> Maybe broker.start() returns before actually the server ports are bound.
>
> Jarek
>
> On 2/12/07, Dan Diephouse <da...@envoisolutions.com> wrote:
> > I can't reproduce this at all - can anyone else? Looking at the tests I
> > can't seem to see anything that might go wrong either. I'm running
> Windows
> > Vista on a dual core on Java 1.5.0_10.
> >
> > - Dan
> >
> > On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
> > >
> > > I think there is some kind of a race condition in the JMS tests. Maybe
> > > the server gets shutdown before the client gets to send its message. I
> > > ran it a few times in a row. Sometimes they failed, sometimes they
> > > passed.
> > >
> > > Here's the full stack trace of one of the exceptions:
> > >
> > > java.io.IOException: javax.jms.JMSException: Could not connect to
> broker
> > > URL: tc
> > > p://localhost:61500. Reason: java.net.ConnectException: Connection
> > > refused: conn
> > > ect
> > >         at org.apache.cxf.transport.jms.JMSConduit.send(
> JMSConduit.java
> > > :90)
> > >         at
> org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> > > (Abstrac
> > > tJMSTester.java:83)
> > >         at
> > > org.apache.cxf.transport.jms.JMSDestinationTest.testOneWayDestination
> > > (JMSDestinationTest.java:142)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke
> > > (NativeMethodAccessorImpl.
> > > java:39)
> > >         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > > (DelegatingMethodAcces
> > > sorImpl.java:25)
> > >         at java.lang.reflect.Method.invoke(Method.java:585)
> > >         at junit.framework.TestCase.runTest(TestCase.java:164)
> > >         at junit.framework.TestCase.runBare(TestCase.java:130)
> > >         at junit.framework.TestResult$1.protect(TestResult.java:106)
> > >         at junit.framework.TestResult.runProtected(TestResult.java
> :124)
> > >         at junit.framework.TestResult.run(TestResult.java:109)
> > >         at junit.framework.TestCase.run(TestCase.java:120)
> > >         at junit.framework.TestSuite.runTest(TestSuite.java:230)
> > >         at junit.framework.TestSuite.run(TestSuite.java:225)
> > >         at junit.extensions.TestDecorator.basicRun(TestDecorator.java
> :24)
> > >         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> > >         at junit.framework.TestResult.runProtected(TestResult.java
> :124)
> > >         at junit.extensions.TestSetup.run(TestSetup.java:25)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke
> > > (NativeMethodAccessorImpl.
> > > java:39)
> > >         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > > (DelegatingMethodAcces
> > > sorImpl.java:25)
> > >         at java.lang.reflect.Method.invoke(Method.java:585)
> > >         at org.apache.maven.surefire.battery.JUnitBattery.executeJUnit
> > > (JUnitBatt
> > > ery.java:242)
> > >         at org.apache.maven.surefire.battery.JUnitBattery.execute(
> > > JUnitBattery.j
> > > ava:216)
> > >         at org.apache.maven.surefire.Surefire.executeBattery(
> Surefire.java
> > > :215)
> > >         at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
> > >         at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
> > >         at org.apache.maven.surefire.Surefire.run(Surefire.java:63)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke
> > > (NativeMethodAccessorImpl.
> > > java:39)
> > >         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > > (DelegatingMethodAcces
> > > sorImpl.java:25)
> > >         at java.lang.reflect.Method.invoke(Method.java:585)
> > >         at org.apache.maven.surefire.SurefireBooter.main(
> > > SurefireBooter.java:785
> > > )
> > >
> > > I'm running this on Windows XP, dual core processor.
> > >
> > > Jarek
> > >
> > > On 2/9/07, Dan Diephouse <da...@envoisolutions.com> wrote:
> > > > The unit tests should set up the server automatically. Maybe you
> have
> > > > something on that port or have a firewall blocking it? Which test is
> > > this?
> > > > - Dan
> > > >
> > > > On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
> > > > >
> > > > > Quick question: the JMS unit tests require an external server to
> be
> > > > > running in background in order for them to pass?
> > > > >
> > > > > Here's what I'm seeing:
> > > > >
> > > > > java.io.IOException: javax.jms.JMSException: Could not connect to
> > > broker
> > > > > URL: tc
> > > > > p://localhost:61500. Reason: java.net.ConnectException: Connection
> > > > > refused: conn
> > > > > ect
> > > > >         at org.apache.cxf.transport.jms.JMSConduit.send(
> > > JMSConduit.java
> > > > > :90)
> > > > >         at
> > > org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> > > > > (Abstrac
> > > > > tJMSTester.java:83)
> > > > >
> > > > >
> > > > > Jarek
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Dan Diephouse
> > > > Envoi Solutions
> > > > http://envoisolutions.com | http://netzooid.com/blog
> > > >
> > >
> >
> >
> >
> > --
> > Dan Diephouse
> > Envoi Solutions
> > http://envoisolutions.com | http://netzooid.com/blog
> >
>



-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

Re: JMS unit tests

Posted by Jarek Gawor <jg...@gmail.com>.
Dan,

I'm not sure if that's it but the following looks weird (in
JMSBrokerSetup.java):

                synchronized (this) {
                    broker.setPersistenceAdapter(new
MemoryPersistenceAdapter());
                    broker.addConnector(brokerUrl);
                    broker.start();
                    Thread.sleep(200);  <---- why 200ms?
                    notifyAll();
                }

Maybe broker.start() returns before actually the server ports are bound.

Jarek

On 2/12/07, Dan Diephouse <da...@envoisolutions.com> wrote:
> I can't reproduce this at all - can anyone else? Looking at the tests I
> can't seem to see anything that might go wrong either. I'm running Windows
> Vista on a dual core on Java 1.5.0_10.
>
> - Dan
>
> On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
> >
> > I think there is some kind of a race condition in the JMS tests. Maybe
> > the server gets shutdown before the client gets to send its message. I
> > ran it a few times in a row. Sometimes they failed, sometimes they
> > passed.
> >
> > Here's the full stack trace of one of the exceptions:
> >
> > java.io.IOException: javax.jms.JMSException: Could not connect to broker
> > URL: tc
> > p://localhost:61500. Reason: java.net.ConnectException: Connection
> > refused: conn
> > ect
> >         at org.apache.cxf.transport.jms.JMSConduit.send(JMSConduit.java
> > :90)
> >         at org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> > (Abstrac
> > tJMSTester.java:83)
> >         at
> > org.apache.cxf.transport.jms.JMSDestinationTest.testOneWayDestination
> > (JMSDestinationTest.java:142)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.
> > java:39)
> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAcces
> > sorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at junit.framework.TestCase.runTest(TestCase.java:164)
> >         at junit.framework.TestCase.runBare(TestCase.java:130)
> >         at junit.framework.TestResult$1.protect(TestResult.java:106)
> >         at junit.framework.TestResult.runProtected(TestResult.java:124)
> >         at junit.framework.TestResult.run(TestResult.java:109)
> >         at junit.framework.TestCase.run(TestCase.java:120)
> >         at junit.framework.TestSuite.runTest(TestSuite.java:230)
> >         at junit.framework.TestSuite.run(TestSuite.java:225)
> >         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> >         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> >         at junit.framework.TestResult.runProtected(TestResult.java:124)
> >         at junit.extensions.TestSetup.run(TestSetup.java:25)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.
> > java:39)
> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAcces
> > sorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at org.apache.maven.surefire.battery.JUnitBattery.executeJUnit
> > (JUnitBatt
> > ery.java:242)
> >         at org.apache.maven.surefire.battery.JUnitBattery.execute(
> > JUnitBattery.j
> > ava:216)
> >         at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java
> > :215)
> >         at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
> >         at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
> >         at org.apache.maven.surefire.Surefire.run(Surefire.java:63)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.
> > java:39)
> >         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAcces
> > sorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at org.apache.maven.surefire.SurefireBooter.main(
> > SurefireBooter.java:785
> > )
> >
> > I'm running this on Windows XP, dual core processor.
> >
> > Jarek
> >
> > On 2/9/07, Dan Diephouse <da...@envoisolutions.com> wrote:
> > > The unit tests should set up the server automatically. Maybe you have
> > > something on that port or have a firewall blocking it? Which test is
> > this?
> > > - Dan
> > >
> > > On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
> > > >
> > > > Quick question: the JMS unit tests require an external server to be
> > > > running in background in order for them to pass?
> > > >
> > > > Here's what I'm seeing:
> > > >
> > > > java.io.IOException: javax.jms.JMSException: Could not connect to
> > broker
> > > > URL: tc
> > > > p://localhost:61500. Reason: java.net.ConnectException: Connection
> > > > refused: conn
> > > > ect
> > > >         at org.apache.cxf.transport.jms.JMSConduit.send(
> > JMSConduit.java
> > > > :90)
> > > >         at
> > org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> > > > (Abstrac
> > > > tJMSTester.java:83)
> > > >
> > > >
> > > > Jarek
> > > >
> > >
> > >
> > >
> > > --
> > > Dan Diephouse
> > > Envoi Solutions
> > > http://envoisolutions.com | http://netzooid.com/blog
> > >
> >
>
>
>
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
>

Re: JMS unit tests

Posted by Dan Diephouse <da...@envoisolutions.com>.
I can't reproduce this at all - can anyone else? Looking at the tests I
can't seem to see anything that might go wrong either. I'm running Windows
Vista on a dual core on Java 1.5.0_10.

- Dan

On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
>
> I think there is some kind of a race condition in the JMS tests. Maybe
> the server gets shutdown before the client gets to send its message. I
> ran it a few times in a row. Sometimes they failed, sometimes they
> passed.
>
> Here's the full stack trace of one of the exceptions:
>
> java.io.IOException: javax.jms.JMSException: Could not connect to broker
> URL: tc
> p://localhost:61500. Reason: java.net.ConnectException: Connection
> refused: conn
> ect
>         at org.apache.cxf.transport.jms.JMSConduit.send(JMSConduit.java
> :90)
>         at org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> (Abstrac
> tJMSTester.java:83)
>         at
> org.apache.cxf.transport.jms.JMSDestinationTest.testOneWayDestination
> (JMSDestinationTest.java:142)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.
> java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at junit.framework.TestCase.runTest(TestCase.java:164)
>         at junit.framework.TestCase.runBare(TestCase.java:130)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:120)
>         at junit.framework.TestSuite.runTest(TestSuite.java:230)
>         at junit.framework.TestSuite.run(TestSuite.java:225)
>         at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>         at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.extensions.TestSetup.run(TestSetup.java:25)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.
> java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.maven.surefire.battery.JUnitBattery.executeJUnit
> (JUnitBatt
> ery.java:242)
>         at org.apache.maven.surefire.battery.JUnitBattery.execute(
> JUnitBattery.j
> ava:216)
>         at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java
> :215)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:63)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.
> java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.maven.surefire.SurefireBooter.main(
> SurefireBooter.java:785
> )
>
> I'm running this on Windows XP, dual core processor.
>
> Jarek
>
> On 2/9/07, Dan Diephouse <da...@envoisolutions.com> wrote:
> > The unit tests should set up the server automatically. Maybe you have
> > something on that port or have a firewall blocking it? Which test is
> this?
> > - Dan
> >
> > On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
> > >
> > > Quick question: the JMS unit tests require an external server to be
> > > running in background in order for them to pass?
> > >
> > > Here's what I'm seeing:
> > >
> > > java.io.IOException: javax.jms.JMSException: Could not connect to
> broker
> > > URL: tc
> > > p://localhost:61500. Reason: java.net.ConnectException: Connection
> > > refused: conn
> > > ect
> > >         at org.apache.cxf.transport.jms.JMSConduit.send(
> JMSConduit.java
> > > :90)
> > >         at
> org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> > > (Abstrac
> > > tJMSTester.java:83)
> > >
> > >
> > > Jarek
> > >
> >
> >
> >
> > --
> > Dan Diephouse
> > Envoi Solutions
> > http://envoisolutions.com | http://netzooid.com/blog
> >
>



-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

Re: JMS unit tests

Posted by Jarek Gawor <jg...@gmail.com>.
I think there is some kind of a race condition in the JMS tests. Maybe
the server gets shutdown before the client gets to send its message. I
ran it a few times in a row. Sometimes they failed, sometimes they
passed.

Here's the full stack trace of one of the exceptions:

java.io.IOException: javax.jms.JMSException: Could not connect to broker URL: tc
p://localhost:61500. Reason: java.net.ConnectException: Connection refused: conn
ect
        at org.apache.cxf.transport.jms.JMSConduit.send(JMSConduit.java:90)
        at org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage(Abstrac
tJMSTester.java:83)
        at org.apache.cxf.transport.jms.JMSDestinationTest.testOneWayDestination
(JMSDestinationTest.java:142)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at junit.framework.TestCase.runTest(TestCase.java:164)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:120)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.extensions.TestSetup.run(TestSetup.java:25)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.maven.surefire.battery.JUnitBattery.executeJUnit(JUnitBatt
ery.java:242)
        at org.apache.maven.surefire.battery.JUnitBattery.execute(JUnitBattery.j
ava:216)
        at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java:215)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.maven.surefire.SurefireBooter.main(SurefireBooter.java:785
)

I'm running this on Windows XP, dual core processor.

Jarek

On 2/9/07, Dan Diephouse <da...@envoisolutions.com> wrote:
> The unit tests should set up the server automatically. Maybe you have
> something on that port or have a firewall blocking it? Which test is this?
> - Dan
>
> On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
> >
> > Quick question: the JMS unit tests require an external server to be
> > running in background in order for them to pass?
> >
> > Here's what I'm seeing:
> >
> > java.io.IOException: javax.jms.JMSException: Could not connect to broker
> > URL: tc
> > p://localhost:61500. Reason: java.net.ConnectException: Connection
> > refused: conn
> > ect
> >         at org.apache.cxf.transport.jms.JMSConduit.send(JMSConduit.java
> > :90)
> >         at org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> > (Abstrac
> > tJMSTester.java:83)
> >
> >
> > Jarek
> >
>
>
>
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
>

Re: JMS unit tests

Posted by Dan Diephouse <da...@envoisolutions.com>.
The unit tests should set up the server automatically. Maybe you have
something on that port or have a firewall blocking it? Which test is this?
- Dan

On 2/9/07, Jarek Gawor <jg...@gmail.com> wrote:
>
> Quick question: the JMS unit tests require an external server to be
> running in background in order for them to pass?
>
> Here's what I'm seeing:
>
> java.io.IOException: javax.jms.JMSException: Could not connect to broker
> URL: tc
> p://localhost:61500. Reason: java.net.ConnectException: Connection
> refused: conn
> ect
>         at org.apache.cxf.transport.jms.JMSConduit.send(JMSConduit.java
> :90)
>         at org.apache.cxf.transport.jms.AbstractJMSTester.sendoutMessage
> (Abstrac
> tJMSTester.java:83)
>
>
> Jarek
>



-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog