If you override BeforeStart in your bootstrapper and don't call
base.BeforeStart() the bus will not be configured.
For example:
public class MyBootstrapper : StructureMapBootStrapper
{
public override void BeforeStart()
{
ImportantThingsToDoBeforeTheBusStarts();
}
}
You will get an exception later on when the bus is about to start.
For StructureMapBootstrapper this exception will be thrown:
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily
Rhino.ServiceBus.Internal.IStartable, Rhino.ServiceBus,
Version=2.2.2.0, Culture=neutral, PublicKeyToken=0b3305902db7183f
The reason is that the AbstractBootStrapper actually has some
important code in its BeforeStart-method:
public virtual void BeforeStart()
{
config.Configure();
}
So, to fix it you can just call base.BeforeStart():
public class MyBootstrapper : StructureMapBootStrapper
{
public override void BeforeStart()
{
ImportantThingsToDoBeforeTheBusStarts();
base.BeforeStart();
}
}
I spent some time debugging this since it was not obvious that the
structuremap exception that was thrown had anything to do with me
overriding BeforeStart(). I don't know the codebase well enough to
suggest exactly how to make this better, but it would be nice if you
did not have to call base.BeforeStart()...
--
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.