2010-06-25 12:32:26,939 (main) [ ContainerLoader.java:50 :INFO ] [Startup] Loading containers...
... 2010-06-25 12:32:54,251 (main) [ BeanShellContainer.java:102:INFO ] NOTICE: BeanShell service ports are not secure. Please protect the ports 2010-06-25 12:32:57,939 (org.ofbiz.service.jms.jmslistenerfact...@14664e4) [ JmsListenerFactory.java:74 :INFO ] JMS Listener Factory Thread Finished; All listeners connected. 31 seconds isn't fast enough? -Adrian --- On Fri, 6/25/10, Adam Heath <doo...@brainfood.com> wrote: > From: Adam Heath <doo...@brainfood.com> > Subject: Re: concurrent, parallel loading stuff > To: dev@ofbiz.apache.org > Date: Friday, June 25, 2010, 11:51 AM > BJ Freeman wrote: > > I am sure you know why but would you enlighten > us as to why this is > > necessary. > > Does it break using ofbiz with external tomcat? > > Because it makes startup faster. > > I did no changes to tomcat, and can't say whether the stuff > I've done > will work with anything other than the tomcat already > included. > > The other synchronization->concurrent stuff I'm doing > in > framework/base and the like won't have any bearing on the > catalina > workarounds; those will come first. > > > > > Adam Heath sent the following on 6/25/2010 11:20 AM: > > > > > > ========================= > > BJ Freeman > > http://bjfreeman.elance.com > > Strategic Power Office with Supplier Automation > > <http://www.businessesnetwork.com/automation/viewforum.php?f=52> > > Specialtymarket.com <http://www.specialtymarket.com/> > > > > Systems Integrator-- Glad to Assist > > > > Chat Y! messenger: bjfr33man > > Linkedin > > <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro> > > > > > >> I've got a change to ofbiz startup to make loading > of the webapps run > >> in parallel. Unfortunately, it's been taking > me longer than I'd like > >> to get working completely. > >> > >> Catalina itself is single-threaded when loading > the webapps attached > >> to a particular host. That fix required me > initializing the Context > >> classes myself before adding to the host. > Unfortunately, that had 2 > >> concurrency bugs in catalina, that I had to hack > around. One was yet > >> another synchronization. The other was > corruption when catalina tried > >> to use a global static map to old intermediate > data while parsing the > >> web.xml files. > >> > >> However, once I got all those fixed, ofbiz itself > stopped the > >> parallelization. The startup code called by > ControlServlet and > >> ContextFilter end up calling into synchronized > ofbiz blocks, which > >> effectively stops things from running in > parallel. My fix there is to > >> remove the synchronized blocks, and switch to more > concurrent type algos. > >> > >> The latest problem with that, is that FastMap was > used to hold the > >> list of components found. When things are > inserted into a FastMap, > >> iteration over the values maintains the order that > they were added in. > >> Switching to ConcurrentHashMap, > or ConcurrentLinkedHashMap, gives > >> things back in an effectively random order. > My plan here is to add > >> 'dependencies' to the component definitions. > Then, if no dependencies > >> are specified for a particular > ofbiz-component.xml, it'll default to > >> depending on all currently loaded > components. I already have a > >> dependency resolver written, to put the components > in the proper > >> order. This will also allow us to start > encoding real dependency > >> settings into ofbiz. > >> > >> I should have this all ready to go by sunday > evening. > >> > >