Figured it out after you mentioned that I had the queues configured to
be transactional. Actually, I had one set to transaction, the other
was not. At first I thought that was the problem because when I
removed the transactional attribute on the one, it worked. Adding
transactional to both config's resulted in the incorrect behavior I
originally wrote about. Then it dawned on me that the queues were
probably never created as transactional. I was using the PrepareQueue
code from the starbucks example which creates the queues (non-
transactional) if they do not exist before purging. Deleting the
queues and letting RSB create the queues allowed them to be created
correctly and things are now working.

On Apr 11, 6:43 am, Jason Meckley <[email protected]> wrote:
> a couple things to check.
> 1. your queues are transactional, is the DTC service running?
> 2. are you using a console app to test this? if so you will need to
> wait for a replay from the processor. look at the customer controller
> in the startbucks example. it waits for 30 seconds before throwing an
> exception saying it took too long.
>
> On Apr 9, 4:54 pm, Adam <[email protected]> wrote:
>
>
>
> > Aside from the Starbucks example, are there any other resources
> > available for creating a new project around RSB from scratch? I can
> > run the starbucks sample, but I've spent the last two days with little
> > success getting my own project up and running.
>
> > So far I've created two projects like starbucks, one with the logic
> > (processor), the other for testing (test). My goal is to be able to
> > send a message from test to processor, and then to have processor
> > publish a message back to test. The messages I am using are in a 3rd
> > project called Messaging. Test sends MessageType1 to processor and is
> > expecting MessageType2 back. Processor has a class that implements
> > ConsumerOf<MessageType1>, while test has a class that implements
> > ConsumerOf<MessageType2>.
>
> > My current problem is that my processor never acts on the messages
> > sent (including the add subscription request) from test. I have
> > enabled an endpoint log for both processor and test and can see that
> > test has sent a subscription request, and the actual message. These
> > messages show up in the endpoint defined for processor, but just sit
> > there. In the log4net logfile, it looks like something is stuck in an
> > infinate loop, as I have  1000's of the following entry:
>
> > 2010-04-09 15:26:06,928 [Rhino Service Bus Worker Thread #0] DEBUG
> > Rhino.ServiceBus.Msmq.AbstractMsmqListener [(null)] - Got message
> > Rhino.ServiceBus.Messages.AddSubscription on msmq://machineName/processor
> > from FORMATNAME:DIRECT=OS:machineName\private$\test
>
> > If I step thru the code in debugger, I see the first instance of the
> > above log message after the bus I create in Test is started. The
> > message also shows up in the Processor endpoint. Stepping thru
> > Test.Bus.Send seems to work as expected, in that I see the sent
> > message show up in the Processor Endpoint. The next line of code is a
> > call to manualResetEvent.WaitOne(5000). As soon as this line is hit, I
> > start getting all of the AddSubscription logfile entries.
>
> > Processor Config:
> > <facilities>
> >       <facility id="rhino.esb" >
> >         <bus threadCount="1" numberOfRetries="5" transactional="true"
> >              logEndpoint="msmq://localhost/processor.log"
> >              endpoint="msmq://localhost/processor"  />
> >         <messages>
> >           <!--Am I missing something here?-->
> >         </messages>
> >       </facility>
> >     </facilities>
>
> > Test Config:
> > <facilities>
> >       <facility id="rhino.esb" >
> >         <bus threadCount="1" numberOfRetries="5"
> >              endpoint="msmq://localhost/test"
> >              logendpoint="msmq://localhost/test.log" />
> >         <messages>
> >           <add name="Messaging" endpoint="msmq://localhost/processor"/
>
> >         </messages>
> >       </facility>
> >     </facilities>
>
> > I am starting up the processor bus in my test method using code
> > similar to starbucks.
>
> > var processor= new RemoteAppDomainHost(typeof(ProcessorBootStrapper))
> >         .Configuration("Processor.config");
> >       processor.Start();
>
> > Any help would be appreciated.
>
> > Thanks,
>
> > Adam- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to