Hi David,

When I am testing a class outside of the context of wo, I do it this way:

   // Properties file config
URL configURL = new URL("file:Resources/ MyFunAndExcitingLog4jConfigFileThatEveryoneWouldBeJealousOf .properties");
   PropertyConfigurator.configure(configURL);

or for xml

   // XML Based config
URL configURL = new URL("file:Resources/ MyFunAndExcitingLog4jConfigFileThatEveryoneWouldBeJealousOfInBadAssXMLFormat .xml");
   DOMConfigurator.configure(configURL);


I place this code in main() because then it will not be called when the Application uses the object, but you can also place it inside of static { }. I imagine the same code will work in your Application constructor.

later,

asa


On Jan 23, 2008, at 8:15 AM, Daniele Corti wrote:



2008/1/23, David Avendasora <[EMAIL PROTECTED]>:
I'm sure I'm missing something obvious, but

resourceManager().pathURLForResourceNamed( "Resources/log4j.xml" , null, null)

in my Application.java class is returning null when I run my app. The log4j.xml is in the /Resources/ directory (in both the build and dist directories) and flagged as a Resource. Why isn't it being found? It seems to be an intermittent problem as it has done this before and then suddenly started working.

I get the following NPE in Eclipse Run Log:

[2008-01-23 07:47:16 EST] <main> A fatal exception occurred: null
[2008-01-23 07:47:16 EST] <main> java.lang.NullPointerException
at com .bestmaid .bakeryManagement.server.Application.<init>( Application.java:38 ) at sun.reflect.NativeConstructorAccessorImpl.newInstance0( Native Method ) at sun .reflect .NativeConstructorAccessorImpl .newInstance( NativeConstructorAccessorImpl.java:39 ) at sun .reflect .DelegatingConstructorAccessorImpl .newInstance( DelegatingConstructorAccessorImpl.java:27 )
at java.lang.reflect.Constructor.newInstance( Constructor.java:494 )
at java.lang.Class.newInstance0( Class.java:350 )
at java.lang.Class.newInstance( Class.java:303 )
at com.webobjects.appserver.WOApplication.main( WOApplication.java: 323 ) at com .bestmaid.bakeryManagement.server.Application.main( Application.java: 23 )

I get the following from Tomcat when it tries to start the deployed application:

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0( Native Method)
at sun .reflect .NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39 ) at sun .reflect .DelegatingMethodAccessorImpl .invoke( DelegatingMethodAccessorImpl.java:25 )
at java.lang.reflect.Method.invoke( Method.java:585)
at com .webobjects .jspservlet.WOServletAdaptor._applicationInit( WOServletAdaptor.java: 415 ) at com .webobjects .jspservlet.WOServletAdaptor.initStatics( WOServletAdaptor.java:78 ) at com .webobjects.jspservlet.WOServletAdaptor.init( WOServletAdaptor.java: 629 )
at javax.servlet.GenericServlet.init( GenericServlet.java:212)
at org .apache .catalina.core.StandardWrapper.loadServlet( StandardWrapper.java: 1161 ) at org.apache.catalina.core.StandardWrapper.load( StandardWrapper.java: 981 ) at org .apache .catalina.core.StandardContext.loadOnStartup( StandardContext.java: 4045 ) at org.apache.catalina.core.StandardContext.start( StandardContext.java: 4351 ) at org .apache .catalina.core.ContainerBase.addChildInternal( ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild( ContainerBase.java: 771) at org.apache.catalina.core.StandardHost.addChild( StandardHost.java: 525) at org .apache .catalina.startup.HostConfig.deployDescriptor( HostConfig.java:626) at org .apache .catalina.startup.HostConfig.deployDescriptors( HostConfig.java:553) at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java: 488)
at org.apache.catalina.startup.HostConfig.start( HostConfig.java:1138)
at org .apache.catalina.startup.HostConfig.lifecycleEvent( HostConfig.java: 311) at org .apache .catalina .util.LifecycleSupport.fireLifecycleEvent( LifecycleSupport.java:117 ) at org.apache.catalina.core.ContainerBase.start( ContainerBase.java: 1053)
at org.apache.catalina.core.StandardHost.start( StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start( ContainerBase.java: 1045) at org.apache.catalina.core.StandardEngine.start( StandardEngine.java: 443) at org.apache.catalina.core.StandardService.start( StandardService.java: 516 ) at org.apache.catalina.core.StandardServer.start( StandardServer.java: 710)
at org.apache.catalina.startup.Catalina.start( Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0( Native Method)
at sun .reflect .NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39 ) at sun .reflect .DelegatingMethodAccessorImpl .invoke( DelegatingMethodAccessorImpl.java:25 )
at java.lang.reflect.Method.invoke( Method.java:585)
at org.apache.catalina.startup.Bootstrap.start( Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main( Bootstrap.java:413)
Caused by: com.webobjects.foundation.NSForwardException [java.lang.NullPointerException] null: <com.bestmaid.bakeryManagement.server.Application> failed instantiation. Exception thrown :
java.lang.NullPointerException : null
at com .webobjects .foundation ._NSUtilities._explainInstantiationException( _NSUtilities.java:567) at com .webobjects .foundation._NSUtilities.instantiateObject( _NSUtilities.java:581) at com .webobjects .appserver.WOApplication.primeApplication( WOApplication.java:411)
... 34 more

If I comment the following out of the Application.java file, it will launch:

URL configURL = resourceManager().pathURLForResourceNamed("Resources/ log4j.xml", null, null ); NSLog.out .appendln("Initializing log4j from " + configURL.toString());
DOMConfigurator.configure(configURL);

try:
resourceManager().pathURLForResourceNamed( "log4j.xml", null, null)

Thanks,

Dave

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com )
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/ildenae%40gmail.com

This email sent to [EMAIL PROTECTED]



--
Daniele Corti
AIM: S0CR4TE5
Messenger: [EMAIL PROTECTED]

--
Computers are like air conditioners -- they stop working properly if you open
WINDOWS

--
What about the four lusers of the apocalypse? I nominate:
"advertising", "can't log in", "power switch" and "what backup?"
--Alistair Young _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/a.talk %40zenn.net

This email sent to [EMAIL PROTECTED]

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to