Title: RE: log4j with EJB: AccessControlException

  Please check you java policy files if you have write permissions.

thanks
randi

-----Original Message-----
From: Josh Reeves [mailto:[EMAIL PROTECTED]]
Sent: Monday, September 17, 2001 12:07 PM
To: LOG4J Users Mailing List
Subject: log4j with EJB: AccessControlException


Hello everyone!

If you have a minute, please, take a look at my problem and
point me to the right direction.

Many thanks in advance!

Here is what I have.

I'm trying to get log4j working with EJB. And it does, as long as I
agree to the output to the console. But if my log4j.properties
changed to ( borrowed as is from the manual, but the file name):

<< start of file >>

log4j.rootCategory=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.FileAppender
log4j.appender.R.File=MeasurementAPP.log

log4j.appender.R.ImmediateFlush=true

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

<< end of file >>

I'm getting:

java.rmi.ServerException: RemoteException occurred in server thread; nested exce
ption is:
        java.rmi.RemoteException: Unknown exception; nested exception is:
        java.lang.ExceptionInInitializerError
java.rmi.RemoteException: Unknown exception; nested exception is:
        java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError: java.security.AccessControlException: acc
ess denied (java.io.FilePermission MeasurementAPP.log write)
        <<no stack trace available>>

An entity bean looks the following:

public
abstract
class MeasurementEJB implements EntityBean
{

        static
        final
        Category  CAT           = Category.getInstance( MeasurementEJB.class);

        static
        final
        String    LOG_FNAME     = "/MeasurementAPP.log";

        static
        {
                FilePermission  fp  = new FilePermission( LOG_FNAME,  "write");

                try
                {
                        AccessControlContext  acc  = AccessController.getContext();
                        acc.checkPermission( fp);
                }
                catch(  AccessControlException accEx)
                {
                        accEx.printStackTrace();
                        throw new EJBException( accEx);
                }

                PropertyConfigurator.configure(  "log4j.properties");
        } // static

...

        public
        Collection  ejbHomeGetMeasurementsInDate( Date  from, Date  to,
                                                                                                                                                                                int quantity)

        {
                Vector  result  = new Vector();

                CAT.debug(  "In ejbHomeGetMeasurementsInDate.");

                ...
        } // end ejbHomeGetMeasurementsInDate

} // end of MeasurementEJB


log4j.jar is bound to the ejb-jar by being under META-INF/lib.

What would be your suggestion?
Also, log4j.configuration property: where it should be specified?

Best regards,
AR

--
Thank you!



Make a difference, help support the relief efforts in the U.S.
http://clubs.lycos.com/live/events/september11.asp

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to