Jeremy Boynes wrote: > The NetworkServerControlImpl starts its server using a > DRDAServerStarter which constructs a NetworkServerControlImpl via > reflection. The DRDAServerStarter is in the engine tree, the > NetworkServerControlImpl is in the drda tree. > > Can someone please give a little historical background here. > > What problems will we see if we simplify this so that all the network > server code is located in the drda tree?
DRDAServerStarter is there in support of the derby.drda.startNetworkServer property, an easy way to embed network server in your application when you start Derby. It just starts network server in another thread. It needs to be in the engine code so that it is processed when you start Derby. Reflection is needed so there is no dependency on the derbynet.jar in the build. http://db.apache.org/derby/docs/10.1/adminguide/radminconfigstartnetworkserver.html The NetworkServerControl start api could launch it's own thread and start network server without using DRDAServerStarter, but just reuses DRDAServerStarter since it is there. Kathey
