Re: [C2-devel] NullPointerException in ContextClassLoaderLocator
Brought to you by:
dawidweiss,
stachoo
From: Stanislaw O. <sta...@os...> - 2011-03-21 07:40:28
|
> I feel a bit old now after reading your message .. by still sticking to > C/C++ (remember the old days? .. the C programming language ...) :-)) > No worries, I'm old enough to have coded Motorola 68000 assembly and C on an Amiga :-) > Regarding your suggestion, Yes, when Apache/PHP is started (like said, PHP5 > runs as a module in my development environment) the JVM is created upon > module initialization. This is due to the fact, that one process may only > run _one_ JVM at a time. As I mentioned in my first post, I had to rewrite > the initialization part of the C Carrot2 Api Core, because of problems > recreating the JVM all the time (at PHP5 class construction/destruction). > Even though, it was a waste, why always destroying and re-creating a new > JVM > (with all the costs that come with that) and not using the attach/detach > thread functionality. With this changed, it is more effective and and way > faster (still need to do some benchmarking on that). Also, for a stable > processing of larger document sets, I added 256MB heap at JVM startup (via > -Xmx256m) option. Well, I need to do heavy testing on all that! > Creating a JVM for each clustering call would be a huge overhead. Also, in such cases, the Just In Time compiler wouldn't have a chance to optimize the Java code at runtime (this happens for frequently executed areas), slowing things down even more. -Xmx256m at startup is a good idea too. > I changed the processing controller to > "ControllerFactory.createPooling();". > I can not find the method "getPooling()". Is that new? I am using the API > 3.4.1 at this time. I will upgrade soon to a more recent version. Before > that I just wanted to get the complete system running. > Oh, sorry, I was writing off the top of my head, it's createPooling(), not getPooling(). There are two variants actually: http://download.carrot2.org/stable/javadoc/org/carrot2/core/ControllerFactory.html#createPooling%28%29 (garbage-collected pool, variable pool size) http://download.carrot2.org/stable/javadoc/org/carrot2/core/ControllerFactory.html#createPooling%28int%29 (fixed pool size) Cheers, S. |