> Great, thanks Rob. I'm always glad when it turns out to not be my
> fault :)
>
>
>
> On Fri, 2007-10-26 at 17:25 +0100, Rob Davies wrote:
>> Hi Tim,
>>
>> I've been able to reproduce this - am currently looking at a fix
>>
>> thanks
>>
>> Rob
>> On Oct 25, 2007, at 9:21 PM, Timothy Bish wrote:
>>
>>> Hey Rob.
>>>
>>> The test is pretty simple. I've attached some code below.
>>> Basically we create a durable consumer send some messages and wait
>>> till we get them all. Then we destroy the consumer and send some
>>> more messages then create another durable consumer with the same id
>>> and wait to get the messages we sent while their was no consumer.
>>>
>>> std::string subName = Guid().createGUID();
>>>
>>> // Create CMS Object for Comms
>>> cms::Session* session = testSupport.getSession();
>>> cms::Topic* topic = session->createTopic
>>> (Guid::createGUIDString());
>>> cms::MessageConsumer* consumer =
>>> session->createDurableConsumer( topic, subName, "" );
>>> consumer->setMessageListener( &testSupport );
>>> cms::MessageProducer* producer =
>>> session->createProducer( topic );
>>>
>>> unsigned int sent;
>>>
>>> // Send some text messages
>>> sent = testSupport.produceTextMessages( *producer, 3 );
>>>
>>> // Wait for all messages
>>> testSupport.waitForMessages( sent );
>>>
>>> unsigned int numReceived = testSupport.getNumReceived();
>>>
>>> if( IntegrationCommon::debug ) {
>>> printf("received: %d\n", numReceived );
>>> }
>>>
>>> CPPUNIT_ASSERT_EQUAL( sent, numReceived );
>>>
>>> // Nuke the consumer
>>> delete consumer;
>>>
>>> // Send some text messages
>>> sent += testSupport.produceTextMessages( *producer, 3 );
>>>
>>> consumer = session->createDurableConsumer( topic, subName,
>>> "" );
>>> consumer->setMessageListener( &testSupport );
>>>
>>> // Send some text messages
>>> sent += testSupport.produceTextMessages( *producer, 3 );
>>>
>>> // Wait for all remaining messages
>>> testSupport.waitForMessages( sent );
>>>
>>> numReceived = testSupport.getNumReceived();
>>> if( IntegrationCommon::debug ) {
>>> printf("received: %d\n", numReceived );
>>> }
>>> CPPUNIT_ASSERT_EQUAL( sent, numReceived );
>>>
>>> if( IntegrationCommon::debug ) {
>>> printf("Shutting Down\n" );
>>> }
>>> delete producer;
>>> delete consumer;
>>> delete topic;
>>>
>>> // Remove the subscription
>>> session->unsubscribe( subName );
>>>
>>>
>>>
>>> Rob Davies wrote:
>>>> Hi Tim,
>>>>
>>>> what does your integration test do ? I would like to try reproduce
>>>> this in a junit test case
>>>>
>>>>
>>>> cheers,
>>>>
>>>> Rob
>>>>
>>>>
http://rajdavies.blogspot.com/>>>>
>>>>
>>>>
>>>> On Oct 25, 2007, at 8:07 PM, Timothy Bish wrote:
>>>>
>>>>> Hiram
>>>>>
>>>>> I'm testing out ActiveMQ-CPP against the 50 RC2 binary and when I
>>>>> run
>>>>> our Durable Consumer Integration test I keep getting the error
>>>>> below
>>>>> returned from the broker. I'm not sure what this means, any
>>>>> clues.
>>>>> This test works fine on a 4.1.1 broker.
>>>>>
>>>>>
>>>>>
>>>>> 1) test:
>>>>> integration::connector::openwire::OpenwireDurableTest::test (F)
>>>>> line:
>>>>> 156 ../../../src/test-integration/integration/connector/openwire/
>>>>> OpenwireDurableTest.cpp
>>>>> assertion failed
>>>>> - Expression: false
>>>>> - *** BEGIN SERVER-SIDE STACK TRACE ***
>>>>> Message: java.io.IOException: Failed to read to journal for:
>>>>> offset =
>>>>> 2374, file = 1, size = -1, type = 0. Reason: java.io.IOException:
>>>>> Could
>>>>> not locate data file data--1
>>>>> Cause: 0x31
>>>>> Exception Class java.lang.RuntimeException
>>>>> *** END SERVER-SIDE STACK TRACE ***
>>>>>
>>>>> FILE: ../../../src/main/activemq/connector/openwire/
>>>>> OpenWireConnector.cpp, LINE: 1358
>>>>>
>>>>> FILE: ../../../src/main/activemq/connector/openwire/
>>>>> OpenWireConnector.cpp, LINE: 1372
>>>>>
>>>>> FILE: ../../../src/main/activemq/connector/openwire/
>>>>> OpenWireConnector.cpp, LINE: 847
>>>>> FILE: ../../../src/main/activemq/core/
>>>>> ActiveMQSession.cpp, LINE:
>>>>> 675
>>>>> FILE: ../../../src/main/activemq/core/
>>>>> ActiveMQProducer.cpp,
>>>>> LINE: 194
>>>>> FILE: ../../../src/main/activemq/core/
>>>>> ActiveMQProducer.cpp,
>>>>> LINE: 149
>>>>> FILE: ../../../src/main/activemq/core/
>>>>> ActiveMQProducer.cpp,
>>>>> LINE: 108
>>>>> FILE: ../../../src/test-integration/integration/
>>>>> TestSupport.cpp,
>>>>> LINE: 150
>>>>>
>>>>>
>>>>> On Thu, 2007-10-25 at 12:43 -0400, Hiram Chirino wrote:
>>>>>> Howdy folks.
>>>>>>
>>>>>> First I want to thank all the folks that helped test out the
>>>>>> first
>>>>>> release candidate. Several bugs/issues were identified and
>>>>>> resolved.
>>>>>> Now that things seem to have quieted down a bit, I cut a new
>>>>>> release
>>>>>> candidate. This one should be much more stable.
>>>>>>
>>>>>> You can get the binary distributions here:
>>>>>>
http://people.apache.org/~chirino/apache-activemq-5.0.0-RC2/>>>>>> maven2/org/apache/activemq/apache-activemq/5.0.0/
>>>>>> maven 2 repo:
http://people.apache.org/~chirino/apache->>>>>> activemq-5.0.0-RC2/maven2
>>>>>> maven 1 repo:
http://people.apache.org/~chirino/apache->>>>>> activemq-5.0.0-RC2/maven1
>>>>>>
>>>>>> Please check out this build and let me know if you see anything
>>>>>> out of place.
>>>>>>
>>>>>> --
>>>>>> Regards,
>>>>>> Hiram
>>>>>>
>>>>>> Blog:
http://hiramchirino.com>>>>
>>>
>>