The only way to get a NPE in that use would be to have a null return for getJobClass(). Check it and let us know if that's the case.
[]s Michael Nascimento Santos JSR-207 Expert Group Member http://weblogs.java.net/pub/au/80 htp://www.soujava.org.br ----- Original Message ----- From: "Mick Knutson" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <[EMAIL PROTECTED]> Sent: Wednesday, September 24, 2003 10:19 PM Subject: Re: Quartz error and Struts plugin for struts > I tried that and here is what I found: > > JobDetail(381): return "JobDetail '" > as listed in the method below: > > public String toString() { > return "JobDetail '" > + getFullName() > + "': jobClass: '" > + getJobClass().getName() > + " isStateful: " > + isStateful() > + " isVolatile: " > + isVolatile() > + " isDurable: " > + isDurable() > + " requestsRecovers: " > + requestsRecovery(); > } > > > --- > Thanks > Mick Knutson > http://www.baselogic.com > > +001(805) 563-0666 Office > +001 (708) 570-2772 Fax > --- > > ----- Original Message ----- > From: "Joe Germuska" <[EMAIL PROTECTED]> > To: "Struts Users Mailing List" <[EMAIL PROTECTED]> > Sent: Wednesday, September 24, 2003 6:08 PM > Subject: Re: Quartz error and Struts plugin for struts > > > > At 5:45 PM -0700 9/24/03, Mick Knutson wrote: > > >I have used the example xml excerp from the src, but I don't know what > would > > >be wrong with the file, or how to track it further. > > >Any ideas about where I can go to get help? > > > > I'd suggest going straight to the source code, seeing as all the > > pieces you are using are open source projects. > > > > For example: > > > > >java.lang.NullPointerException > > > at org.quartz.JobDetail.toString(JobDetail.java:381) > > > at java.lang.String.valueOf(String.java:2177) > > > at java.lang.StringBuffer.append(StringBuffer.java:361) > > > at > > >org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:792) > > > at > > > >org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java: > 2 > > >59) > > > > Looking in the source for org.apache.commons.beanutils.BeanUtils, I > > see that line 792 is the call to "log.debug()": > > > > if (log.isDebugEnabled()) { > > log.debug("BeanUtils.populate(" + bean + ", " + > > properties + ")"); > > } > > > > So one thing you've discovered is that Quartz has a bug in it's > > JobDetail.toString() implementation -- it should be doing a null > > check! The other thing you see though, is that that's merely a > > debugging line. So if you go to your commons-logging configuration > > and set the logging threshold for > > org.apache.commons.beanutils.BeanUtils to "INFO" or higher, you'll > > skip that call all together, and maybe get a little farther. > > > > You could also go and look at the code for Quartz and see what values > > in the JobDetail.toString() might possibly be dereferencing a > > property or method on a null object; that may help you figure out > > something that needs to be set, or help you track down some bug in > > the com.jgsullivan.quartz.SchedulerBuilder and/or > > com.jgsullivan.quartz.ConfigRuleSet -- I see from a brief look at > > ConfigRuleSet that Quartz requires some kind of complicated rules > > because it needs to establish relationships between a JobDetail > > object and a JobGroupConfig object. > > > > At the risk of sounding like a jerk, your posts don't give the > > impression that you are trying very hard yourself to get to the > > bottom of these problems. I can't speak for anyone else, but if all > > you ever do is post the next stack trace that comes up, I'm > > personally not likely to put a whole lot more energy into helping you > > get to the bottom of your problem. You've got to do some of your own > > legwork too. > > > > Joe > > -- > > Joe Germuska > > [EMAIL PROTECTED] > > http://blog.germuska.com > > "We want beef in dessert if we can get it there." > > -- Betty Hogan, Director of New Product Development, National > > Cattlemen's Beef Association > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]