How is the virtualization server programmatically connected to the Alfresco webapp?
At startup, the virtualization server attempts to connect to the Alfresco webapp every few seconds until it succeeds. Once connected, it registers itself with the Alfresco webapp (to receive JMX event notifications later), and queries the AVM to determine which virtual repositories contain webapp data, and what DNS name has been associated with each of them. Then, a classloader hierarchy for the virtual webapps is created that parallels the overlay structure of the AVM stores containing them (this is used whenever possible, to allow the virtualization server to scale). From there, a webapp name mangling scheme is used to create a lexically unique name for every virtual webapp. Reverse proxy logic within the virtualization server maps the DNS name provided by clickable “eyeball” URLs in the Alfresco webapp into a request for the appropriate “name mangled” webapp. From there, Tomcat’s normal servlet container logic takes over. Access to the “file system” is abstracted via JNDI, so Tomcat