[ http://issues.apache.org/jira/browse/DIGESTER-109?page=all ]
Simon Kitching updated DIGESTER-109: ------------------------------------ Summary: FromXmlRuleSet and SetNextRule classloader issue (was: FromXmlRuleSet and SetNextRule classes not working in Unix enviroment) Hi Anna, Thanks very much for reporting this issue. I expect this isn't a "unix" issue specifically; I use Digester extensively on AIX and Linux and don't have this problem. In addition, I've not seen any classloader behaviour differences between unix and windows; anything like that would be a great surprise as Java is cross-platform. I've therefore edited the title of this bugreport. It's obviously a real problem, but is more likely triggered by the way your classloader environment is structured, eg running in a J2EE container when "parent-first" classloading is selected, and Digester is deployed in a shared dir of the container or something similar. Unfortunately, I'm concerned that your posted patch could break other users that have their J2EE container classloading set up in other ways; deciding what the correct change to make is will be tricky. By the way, the xmlrules module you're using has very little support; I'm the only regular Digester maintainer and I don't use it. If you can change to using the Digester API directly I can commit a fix for this quicker than for an xmlrules problem. However I will try to come up with a patch for you to test. Getting a fix into trunk will definitely need your help, as obviously I can't duplicate this bug on my local machine. Of course there's nothing wrong with you continuing to use your customised Digester version that works for you. Cheers, Simon > FromXmlRuleSet and SetNextRule classloader issue > --------------------------------------------------- > > Key: DIGESTER-109 > URL: http://issues.apache.org/jira/browse/DIGESTER-109 > Project: Commons Digester > Issue Type: Bug > Reporter: Anna Komaristaia > > When I start the application in Unix, there are 2 classes cause the problem: > 1) The NullPointerException in "FromXmlRuleSet " class in the method > "addRuleInstances(Digester, String)"; > 2) The NullPointerException in "SetNextRule" class in the method "end()"; > Temporary solution > --------------------------- > I recompiled the commons-digester jar with the next changes and it's working > fine in PC and Unix: > Changes in the "FromXmlRuleSet " class > > 1) public static final String DIGESTER_DTD_PATH = "digester-rules.dtd"; > 2) in the method "addRuleInstances" > the line > URL dtdURL = > getClass().getClassLoader().getResource(DIGESTER_DTD_PATH); > > changed by > > URL dtdURL = this.getClass().getResource(DIGESTER_DTD_PATH); > Changes In the "SetNextRule" class > the line > paramTypes[0] = digester.getClassLoader().loadClass( > paramType); > changed by > if( digester.getClassLoader() == null ) > paramTypes[0] = Class.forName(paramType); > else > paramTypes[0] = digester.getClassLoader().loadClass( > paramType); > Thanks, > //Anna -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]