Hi Tom 
     
    Thanks for pointing out the insufficiency of the code. 
    Since I am not doing any customizations should I consider using org.eclipse.persistence.jpa.PersistenceProvider.
    Will that be a reasonable substitute? 
    Are there any examples / documentation available for creating Custom
    Persistence Providers. Most of the documentation I could find is
    about persistence.xml. 
     
    Thanks 
    Rohit 
     
    On 5/31/2011 6:40 PM, Tom Ware wrote:
    Hi
      Rohit,
       
       
        To be honest, I am surprised such a sparse implementation of
      PersistenceProvider with such a sparsely populated instance of
      SEPersistenceUnitInfo works.  If you are implementing your own
      persistence provider you will definitely have to do more work with
      things like the classloader than the typical user.  As an initial
      step, it is probably a good idea to take a look at every property
      of PersistenceUnitInfo and make sure you set it correctly.
       
       
      -Tom
       
       
      Rohit Banga wrote:
       
        Hi Tom
         
         
        Class.forName() does not throw the same exception.
         
         
        I figured out another way to ensure that the Class Loader is
        picked up correctly.
         
         
              SEPersistenceUnitInfo puInfo = new
        SEPersistenceUnitInfo();
         
              puInfo.setClassLoader(MyLogger.class.getClassLoader());
         
         
         
        EntityManagerSetupImpl.predeploy() contains the following line
        to merge the properties:
         
         
                    Map predeployProperties =
        mergeMaps(extendedProperties,
        persistenceUnitInfo.getProperties());
         
         
         
        The properties member variable of SEPersistenceUnitInfo and the
        actual member variables like classLoader are not in sync with
        each other.
         
        Though the setClassLoader method registers the class loader a
        call to setProperties() on the SEPersistenceUnitInfo does not
        populate the classLoader member variable.
         
        As a result the realClassLoader field in
        EntityManagerSetupImpl.predeploy() is null.
         
         
              puInfo.setClassLoader(MyLogger.class.getClassLoader());
         
         
        I am not sure whether my implementation of PersistenceProvider
        is correct or not. Can you please see if I am missing something
        else in MyPersistenceProvider code I sent earlier?
         
         
        Thanks
         
        Rohit
         
         
        On 5/30/2011 9:19 PM, Tom Ware wrote:
         
        My best guess about your logger is that
          the string you are passing in isn't formatted correctly
          (likely due to the fact that it is an inner class).  To debug:
           
           
          - try using a non-inner class to see if you're getting the
          right loader
           
          - Ensure you can do a Class.forName() using that string to see
          if the string is correct
           
           
          -Tom
           
           
          Rohit Banga wrote:
           
            Hi Tom
             
             
            Yes that was a slip in my test code. Sorry about that. So
            the properties are inherited by default.
             
             
            Other than that instead of using SessionCustomizer I am
            planning to use "eclipselink.logging.logger" to configure my
            CustomLogger. But I am getting Class not found exceptions.
            The CustomLogger is a public static class nested inside the
            main class. Any ideas what could be causing this? I don't
            know what to specify in the class loader property. I tried
            setting it  to
            System.getProperty("|java.system.class.loader|"). does not
            work.
             
             
            On 5/30/2011 8:47 PM, Tom Ware wrote:
             
            Hi Rohit,
               
               
                The only call I see to setLogLevel in your example is on
              line 73.  It sets the log level on the clientSession.  Am
              I missing something?
               
               
                A clientSession will have the same logger as the server
              session that created it, so any logging settings should be
              the same between the sessions.
               
               
                SessionCustomizers don't really make sense on
              ClientSession since the things you are likely to set in
              them are all handled by the server session.
               
               
                Is there some other setting that is causing you
              problems?
               
               
              -Tom
               
               
              Rohit Banga wrote:
               
                Hi All
                 
                 
                I have a small question. I have attached a sample
                program to make it easy to see the problem.
                 
                 
                I have set the LogLevel property on the ServerSesssion.
                However if I do not explicitly set the LogLevel property
                on the clientSession, the logs for the query execution
                are not available on the console. I want a way such that
                any property specified on the server session, say
                SessionCustomizer, Log Level etc. is also available on
                the client session automatically. Can anyone please tell
                me how to do that using the sample code provided?
                 
                 
                --  
                Thanks and Regards
                 
                Rohit Banga
                 
                Member Technical Staff
                 
                Oracle Server Technologies
                 
                 
                 
                ------------------------------------------------------------------------
                 
                 
                _______________________________________________
                 
                eclipselink-users mailing list
                 
                eclipselink-users@xxxxxxxxxxx
                 
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
                 
               
              _______________________________________________
               
              eclipselink-users mailing list
               
              eclipselink-users@xxxxxxxxxxx
               
              https://dev.eclipse.org/mailman/listinfo/eclipselink-users
               
             
             
            --  
            Thanks and Regards
             
            Rohit Banga
             
            Member Technical Staff
             
            Oracle Server Technologies
             
           
         
         
        --  
        Thanks and Regards
         
        Rohit Banga
         
        Member Technical Staff
         
        Oracle Server Technologies
         
       
     
     
    --  
      Thanks and Regards
       
      Rohit Banga
       
      Member Technical Staff
       
      Oracle Server Technologies
       
     
  
 |