Re: Digester 1.8 classloader issue when using tomcat

2009-01-04 Thread rmenon

Thank you
Now I understand what Rahul meant by portable.  Chances of our changing
web servers is slim.

Well, if I had not used digester, I could have put the common war file in
the shared/lib.  I am ok with not sharing digester itself but the fact that
all the digester constructed classes need to be put in WEB-INF/lib seems to
be a severe restriction to me. 
By the way, has anyone done an analysis of how much it costs to duplicate
the war files in terms of memory?

Thanx again for the reply to you and Rahul.

Menon

jwcarman wrote:
 
 BeanUtils (which Digester uses) uses static variables, so sharing that
 particular stuff across webapps can cause some trouble.  As Rahul
 said, just put the stuff in your WEB-INF/lib directory.  It's more
 portable that way (you can just plop your war file down in any other
 web server if it's constructed this way).
 
 On Sat, Jan 3, 2009 at 5:27 PM, rmenon rmenon...@gmail.com wrote:



 Rahul Akolkar wrote:

 On Sat, Jan 3, 2009 at 3:51 PM, rmenon rmenon...@gmail.com wrote:

 Well,
 Can you please elaborate a bit more? My question is why should we
 reload
 the
 same classes multiple times for a jar file that is shared by multiple
 web
 apps?
 snip/

 Generally you want your apps to be self-contained. The servlet
 specification talks about the web app and its directory structure,
 shared stuff is often container specific (I did mention portability).


 Well, from what I understand, at least in tomcat (which is what we use),
 there is a shared/lib
 directory for jars that are common across applications. These jars need
 not be container specific.


 And I am not sure what you mean portability? Could you explain a bit
 more?

 Also, if I do not use digester, then this is not an issue - so what
 are people who use digester doing (apart from duplicating war files)?
 snap/

 I think you mean duplicating libraries in war files for different web
 apps with similar application dependencies.

 I meant duplicating a jar file that is shared across applications in
 each
 of the applications's WEB-INF/lib
 directories. I would think that there should be a way to put them in
 shared/lib directory and still be able to use digester to construct
 them.


 I do
 not like the idea of duplicating same war files for each web app - so
 is
 there a good reason to do that (apart from being a workaround for
 problems
 with digester.)

 snap/

 I still think you mean adding the same jars to each WEB-INF/lib -- its
 portable and its safe.

 -Rahul




 Rahul Akolkar wrote:

 On Sat, Jan 3, 2009 at 3:44 PM, rmenon rmenon...@gmail.com wrote:

 Can you please elaborate? Are you suggesting that I should just
 package
 all
 three jar files in WEB-INF/lib?

 snip/

 If they are needed by the said web app, yes.

 -Rahul


 Rahul Akolkar wrote:

 On Sat, Jan 3, 2009 at 2:14 PM, rmenon rmenon...@gmail.com wrote:

 Hi
 I have three jar files: common, webapp-common, my-webapp.jar.
 common- can be used by non web apps
 webapp-common - common stuff shared by web apps.
 my-webapp.jar - a particular web app.

  I am using digester to build my classes for the app my-webapp.jar.
 In
 the
 digester rules, I have classes that are in all three jar files.
 Now,
 ideally
 speaking, I should be able to put the webapp-cmmon and common jar
 files
 in
 the shared/lib and the my-webapp.jar in WEB-INF/lib. However, that
 results
 in the digester failing with NoClassDefFoundException. The
 problem
 goes
 away if we put all three jars in the WEB-INF/lib since the digester
 class
 loader can see those classes. However, the common jar is already in
 the
 shared/lib being used by other apps. I added some new common
 stuff
 for
 the
 my-webapp.jar and hence running into this issue.

 My latest thinking is to separate out the portion of the classes
 being
 used
 by the my-webapp.jar from the common jar file into its own jar.
 Then
 I
 can
 bundle the webapp-common ahd my-webapp.jar in to the WEBINF/lib and
 retain
 the common jar in the shared/lib. Is there a better approach? What
 is
 the
 best practice in this scenario. Does someone have an idea of
 overhead
 in
 terms of performance etc if we duplicate jar files in each app
 instead
 of
 sharing them in common/lib? What I do not like about this issue is
 that
 I
 think this issue would not be there if I was creating objects
 without
 using
 digester - so a way to use the approach (where I can access the
 common
 classes from digester) would be really ideal in my opinion.

 I did search the google and also this forum - I note that someone
 suggested
 to always bundle each jar files within the web app itself
 separately.
 What
 is the rationale for that?

 snip/

 Portability, potential trouble with statics etc. Also, digester
 itself
 (and beanutils in particular) should never be shared.

 -Rahul


 -
 To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
 For additional commands, e-mail: 

Re: [BeanUtils] Possible to hook in a different getter/setter naming convention?

2009-01-04 Thread Niall Pemberton
On Fri, Jan 2, 2009 at 11:13 PM, kennardconsulting
rich...@kennardconsulting.com wrote:

 Dear All,

 I am enjoying using Commons BeanUtils with all its converters and
 'foo.bar.baz' path notation goodness.

 I was wondering if it was possible to retain this goodness whilst changing
 to a different getter/setter naming convention? Instead of 'getFoo()',
 'setFoo(x)', I'd like to use 'foo()' and 'foo_$eq(x)' which is the native
 Scala naming convention.

BeanUtils uses Introspector[1] at its heart[2] to discover the
properties of a bean - which is based on the java bean spec and tied
to the get/set naming convention for methods. So if you want to change
this behaviour you would need to start by overriding the
getPropertyDescriptors() method in PropertyUtilsBean

Niall

[1] http://java.sun.com/j2se/1.4.2/docs/api/java/beans/Introspector.html
[2] 
http://commons.apache.org/beanutils/xref/org/apache/commons/beanutils/PropertyUtilsBean.html#956


 Is there some method/interface to override to make this change without
 impacting everything else?

 Regards,

 Richard.

-
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org



Re: [BeanUtils] Possible to hook in a different getter/setter naming convention?

2009-01-04 Thread kennardconsulting

Okay, thanks Niall. Will do.

Regards,

Richard.
-- 
View this message in context: 
http://www.nabble.com/-BeanUtils--Possible-to-hook-in-a-different-getter-setter-naming-convention--tp21259922p21284097.html
Sent from the Commons - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org



[ANNOUNCEMENT] Commons Digester 1.8.1 Released

2009-01-04 Thread Rahul Akolkar
The Apache Commons project would like to announce the immediate
availability of Commons Digester 1.8.1.

The Commons Digester library provides an XML to Java object mapping utility.

Commons Digester 1.8.1 contains a small number of improvements and bug
fixes. Details can be found in the release notes:

  http://www.apache.org/dist/commons/digester/RELEASE-NOTES-1.8.1.txt

Commons Digester is available in either binary or source form from the
following downloads page (scroll down for 1.8.1):

  http://commons.apache.org/downloads/download_digester.cgi

In the initial 48 hours, the release may not be available on all
mirrors. When downloading from a mirror site, please remember to
verify the downloads using signatures found on the Apache site:

  http://www.apache.org/dist/commons/KEYS

For more information on Commons Digester, visit the project home page:

  http://commons.apache.org/digester/

-Rahul Akolkar
 on behalf of the Apache Commons community

-
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org