cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylvain.wal...@anyware-tech.com>
Subject Re: Disappointed about avalon usage
Date Wed, 01 Oct 2003 08:40:01 GMT
Michael Lipp wrote:

>> Now an important point is that you aren't disappointed by Avalon (its 
>> concepts and the implied benefits), but by usage mistakes in a 
>> particular usage of it. Am I right ?
>
>
> Clearly, this is a misusage. As Avalon is concerned in general, I'm 
> still considering. I'm responsible for development projects with 3+ 
> developers. We are doing a lot with J2EE etc., so you couldn't call us 
> unexperienced. Still, I have remained hesitant about adding Avalon to 
> our "tool-box" because I have the feeling that the implications of 
> this kind of design are very complex (the "mistake" being a 
> confirmation of this) and that we would end up with an example of bad 
> Avalon usage that wouldn't stand a review.
>
> I had to learn Avalon concepts when I started my XForms processor for 
> Cocoon (http://aac-xforms.sourceforge.net)


Wow, never heard of this project before! That's interesting. What's the 
status of this? And have you looked at Woody (I'm still dubious about a 
server-side XForms implementation).

> and failed at various places, especially when I really tried to re-use 
> pooled components from Cocoon (2.0.4, btw). It is not easy to really 
> implement proper cleanup and it takes a lot of testing and I found 
> that Cocoon often does not take advantage of a component being a 
> pooled component and so there was little implicit testing and so some 
> Cocoon components are buggy in this respect (sorry I cannot give you 
> specifics, when I encountered this kind of problem, I simply switch to 
> plain old "new" because I had my development goal in mind).


Sorry, I don't follow you there? Where/how is poolable used as it should be?

> The only thing I find really annoying is that I have to pass a logger 
> into every class that is not a component (instead of simply declaring 
> the logger as a static member like I do with log4j). As a result, I 
> often used System.out for debugging and then deleted the statements 
> when everything worked which is, of course, the wrong thing to do. I'd 
> have to think of something there if I had to do a larger project with 
> Avalon.


<other-people-please-do-not-read>
Let me tell you a secret: I also have a lot of non-Avalonized code, and 
I wrote a LoggerFactory that provides static methods to get a logger. I 
uses the same logger hierarchy as Cocoon (initialized in the servlet's 
init method), so can be configured with the usual logkit.xconf. Et voilĂ  ;-)
</other-people-please-do-not-read>

> Anyway, this is just because you asked me "publicly" and so here is my 
> "public" response. I assume this is not the right list to discuss 
> Avalon and I don't want to be flamed ;-) 


Flamed? Why so? Explaining problems is the first step towards solving them!

Sylvain

-- 
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
Orixo, the opensource XML business alliance  -  http://www.orixo.com



Mime
View raw message