persistence@glassfish.java.net

Re: Re1: Re1: Code review for: [Issue 1107] Logger defined by a property doesn't work]

From: Tom Ware <tom.ware_at_Oracle.com>
Date: Thu, 19 Oct 2006 14:10:02 -0400

Hi Marina,

  Andrei has sent some comments.

-Tom

Marina Vatkina wrote:

>Hi Wonseok,
>
>Thanks for catching this!
>
>I don't think '.' will affect anything as even if the LogMgr reads it as
>sub-logger namespace, either 'oracle.toplink.essentials' has a level, or
>all of the long name altogether, which means that nothing in between should
>matter. Right?
>
>Thanks for RFE.
>
>Tom, any comments from your side?
>
>thanks,
>-marina
>
>Wonseok Kim wrote:
>
>
>>Hi Marina,
>>
>>I think the 'deploymentCount' should not be decreased if it is just
>>predeployment state.
>>
>> protected void cleanUpSessionManager() {
>> deploymentCount--;
>> if(deploymentCount > 0) {
>> return;
>> }
>> state = STATE_UNDEPLOYED;
>> removeSessionFromGlobalSessionManager();
>> }
>>
>>How about doing like below?
>> if(state == STATE_DEPLOYED){
>> deploymentCount--;
>> }
>>
>>One more question about the logger name. It's a trivial issue, but is it
>>okay if a session name contains dot(".") like below?
>>
>>file:/home/works/my.tests/toplink-essentials-annotation-model-tests.jar-default
>>
>>
>>Others look good.
>>
>>FYI, I filed an RFE issue for category-specific logging level.
>>https://glassfish.dev.java.net/issues/show_bug.cgi?id=1338
>><https://glassfish.dev.java.net/issues/show_bug.cgi?id=1338>
>>
>>Cheers,
>>- Wonseok
>>
>>On 10/19/06, *Marina Vatkina* <Marina.Vatkina_at_sun.com
>><mailto:Marina.Vatkina_at_sun.com>> wrote:
>>
>> Hi Tom,
>>
>> The problem was not in EntityManagerSetupImpl.undeploy() (though the
>> final
>> change was made there as well), but in EMFImpl.close() that didn't have
>> a serverSession set, unless the deploy is executed, so it wasn't
>> calling
>> undeploy at all.
>>
>> The solution:
>> a) Removing 'if(serverSession != null)' around setupImpl.undeploy() call
>> allows to always proceed (serverSession is now created in predeploy).
>> b) Changing the condition in undeploy from 'if(state !=
>> STATE_DEPLOYED)' to
>> 'if(session == null)' for not going further, solves the rest.
>>
>> Unit tests all pass with the above changes. I also ran verifier with
>> my example.
>>
>> The above changes still don't address a) issue 1333 (I need more
>> info, but let's
>> take it to another thread), and b) setting session name in the map
>> *and* using
>> javaagent (let's discuss that scenario further on that new thread),
>> but if you
>> are ok, I'd rather check in the current changes.
>>
>> All changes are attached.
>>
>> thanks,
>> -marina
>>
>> Tom Ware wrote:
>> > Hi Marina,
>> >
>> > I believe people will use JavaLog on SE. This will be particularly
>> > common with people deploying to non-JPA compliant servers. (
>> e.g. Tom Cat)
>> >
>> > Have you had a look at the code in:
>> EntityManagerSetupImpl.undeploy()
>> > for your issues with redeployment. It seems like the changes you are
>> > making will result in a session existing before it used to
>> (before the
>> > EntityManagerFactory in in the DEPLOYED state). In the undeploy
>> method,
>> > we are only cleaning up if the EMF is in DEPLOYED state. You may
>> have
>> > to write some code to allow clean up to work properly in states
>> other
>> > than DEPLOYED.
>> >
>> > -Tom
>> >
>> > Marina Vatkina wrote:
>> >
>> >> Hi Tom,
>> >>
>> >> I need to look into that code path more, but by default JavaLog
>> is not
>> >> used in SE.
>> >> It can be a problem if somebody calls createEntityManagerFactory()
>> >> directly in EE, but how often that can be? I'm not saying we
>> shouldn't
>> >> address that, but should it block the current changes to go in?
>> >>
>> >> My other urgent concern is that with the changes that I'm ready
>> to check
>> >> in, redeploy on GF fails if there was no appclient run
>> in-between because
>> >> after the PU load into the server, there is no emf.close() call.
>> >>
>> >> Let me know what do you think.
>> >>
>> >> thanks,
>> >> -marina
>> >>
>> >> Tom Ware wrote:
>> >>
>> >>
>> >>> Hi Marina,
>> >>>
>> >>> The map will not work in SE. The reason is that predeploy is
>> called
>> >>> before createEntityManagerFactory() on all persistence units on the
>> >>> classpath. When createEntityManagerFactory(String, Map) is
>> called,
>> >>> the map is stored on the factory that is created. It is then used
>> >>> when deploy is called in the getServerSession() method. In this
>> >>> situation, none of the logging properties will be properly
>> dealt with.
>> >>>
>> >>> -Tom
>> >>>
>> >>> Marina Vatkina wrote:
>> >>>
>> >>>
>> >>>
>> >>>> Tom,
>> >>>>
>> >>>> Map should work, right? It's merged with the PU, and used in
>> predeploy.
>> >>>> With my latest fix for Wonseok's item #2 noted below, the
>> session name
>> >>>> should be used as-is (if somebody reminds me how to use
>> JavaLog in SE,
>> >>>> I can test it). In EE, the only way to specify session name
>> will be in
>> >>>> the persistence.xml - I can test this before I check in my
>> changes).
>> >>>>
>> >>>> The thing that won't work, is changing the session name, *and*
>> using
>> >>>> JavaLog - DefaultSessionLog is not affected at all by my changes.
>> >>>>
>> >>>> HTH,
>> >>>> -marina
>> >>>>
>> >>>> Tom Ware wrote:
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>>> First of all, I appologize for noticing this so late in the
>> cycle.
>> >>>>>
>> >>>>> I am a little more concerned about this one than the category
>> >>>>> property support issue. The reason is: In SE we need this
>> support
>> >>>>> in order for a session name specified in the Map argument to
>> >>>>> createEntityManagerFactory(name, map) to work.
>> >>>>>
>> >>>>> If it is resolved later, I would prefer it if later is
>> "immediately
>> >>>>> after the check-in of this change".
>> >>>>>
>> >>>>> -Tom
>> >>>>>
>> >>>>> Marina Vatkina wrote:
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>> Hi Tom,
>> >>>>>>
>> >>>>>> This is one of 2 things to be resolved later (the other being
>> >>>>>> support for
>> >>>>>> category-specific log level). Do you mind?
>> >>>>>>
>> >>>>>>
>> >>>>>> Tom Ware wrote:
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>> Hi Marina,
>> >>>>>>>
>> >>>>>>> I just noticed another potential issue. Maybe you can
>> dispel my
>> >>>>>>> concern.
>> >>>>>>>
>> >>>>>>> In deploy() we call
>> updateServerSession(). updateServerSession()
>> >>>>>>> potentially changes the session name. When it changes the
>> >>>>>>> session name, It looks like we should be dealing with the
>> loggers
>> >>>>>>> after the session name change. Also, I am wondering if we need
>> >>>>>>> to do anything about the logging namespace.
>> >>>>>>>
>> >>>>>>>
>> >>>>>>
>> >>>>>> What do you mean by this last question?
>> >>>>>>
>> >>>>>> thanks,
>> >>>>>> -marina
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>> -Tom
>> >>>>>>>
>> >>>>>>> Tom Ware wrote:
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>> Sounds good Marina. If those are the only changes, I do not
>> >>>>>>>> think there is a need for further review.
>> >>>>>>>>
>> >>>>>>>> -Tom
>> >>>>>>>>
>> >>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>> Tom, Wonseok,
>> >>>>>>>>>
>> >>>>>>>>> I did #1, and to address #2 in Wonseok's list, I moved the
>> >>>>>>>>> following lines
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>> session.setName(name);
>> >>>>>>>>>> addSessionToGlobalSessionManager();
>> >>>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> outside the 'if(name == null)' block.
>> >>>>>>>>>
>> >>>>>>>>> Do you want to see the final code?
>> >>>>>>>>>
>> >>>>>>>>> thanks,
>> >>>>>>>>> -marina
>> >>>>>>>>>
>> >>>>>>>>> Tom Ware wrote:
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>> Hi Marina,
>> >>>>>>>>>>
>> >>>>>>>>>> In general, I think the code looks good.
>> >>>>>>>>>>
>> >>>>>>>>>> A couple comments below related to Wonsoek's earlier
>> comments:
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> Wonseok Kim wrote:
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>> Marina,
>> >>>>>>>>>>> Some comments...
>> >>>>>>>>>>>
>> >>>>>>>>>>> 1. Could you update the default level with INFO in
>> >>>>>>>>>>> PropertiesHandler.LoggingLevelProp class?
>> >>>>>>>>>>>
>> >>>>>>>>>>> protected static class LoggingLevelProp extends Prop {
>> >>>>>>>>>>> LoggingLevelProp() {
>> >>>>>>>>>>> super(TopLinkProperties.LOGGING_LEVEL,
>> >>>>>>>>>>> Level.CONFIG.getName ());
>> >>>>>>>>>>>
>> >>>>>>>>>>> Also this should be updated in the TopLink JPA
>> documentation.
>> >>>>>>>>>>>
>> http://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-extensions.html#TopLinkLogging
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> I agree.
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>> 2. If a user specify the toplink.session-name property,
>> your
>> >>>>>>>>>>> code will use the default namespace("
>> >>>>>>>>>>> oracle.toplink.essentials.default"). I think it should be
>> >>>>>>>>>>> considered in setServerSessionName().
>> >>>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> This is important. The user specified name should
>> definitely
>> >>>>>>>>>> be considered.
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>> 3. I would like to know there is a resolution about the
>> level
>> >>>>>>>>>>> for a specific category. DefaultSessionLog doesn't support
>> >>>>>>>>>>> this. JavaLog supports this but it is not easy to set the
>> >>>>>>>>>>> level by a user - should know the generated session
>> name(long
>> >>>>>>>>>>> and location dependent).
>> >>>>>>>>>>> It would be very useful if a user can set the level of
>> 'sql'
>> >>>>>>>>>>> category to see only the generated SQLs. Another property
>> >>>>>>>>>>> like " toplink.logging.level.<category>" can be an
>> option for
>> >>>>>>>>>>> this. Is there any idea?
>> >>>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> We should definitely add an issue to ensure the
>> categories work.
>> >>>>>>>>>>
>> >>>>>>>>>> -Tom
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>> Others look good to me.
>> >>>>>>>>>>>
>> >>>>>>>>>>> Thanks,
>> >>>>>>>>>>> - Wonseok
>> >>>>>>>>>>>
>> >>>>>>>>>>> On 10/17/06, *Marina Vatkina* <Marina.Vatkina_at_sun.com
>> <mailto:Marina.Vatkina_at_sun.com>
>> >>>>>>>>>>> <mailto: Marina.Vatkina_at_sun.com
>> <mailto:Marina.Vatkina_at_sun.com>>> wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>> Tom, Wonseok, Mitesh,
>> >>>>>>>>>>>
>> >>>>>>>>>>> Please review the changes. They combine the discussions
>> in this
>> >>>>>>>>>>> thread
>> >>>>>>>>>>> and CONFIG log messages in the (short) other.
>> >>>>>>>>>>>
>> >>>>>>>>>>> thanks,
>> >>>>>>>>>>> -marina
>> >>>>>>>>>>>
>> >>>>>>>>>>> Tom Ware wrote On 10/16/06 13:55,:
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>> Hi Tom,
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> Tom Ware wrote On 10/16/06 07:09,:
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>> Hi Marina,
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> Lets not add the separate property for now and
>> continue to
>> >>>>>>>>>>>>>> set
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> both
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> loggers at initialization time. I think the issue
>> with the
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> default
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> logger being set by each persistence unit is one
>> that will
>> >>>>>>>>>>>>>> have
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> a fairly
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> low impact on users.
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> RI agree. With the only exception that its name is
>> >>>>>>>>>>>>> "...default".
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> But before I finalize my changes, I have one more
>> question:
>> >>>>>>>>>>>>> all
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the changes
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>> to the logger names are being done in the JavaLog
>> class which
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> means that
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>> they have no affect on SE loggers unless the users
>> specify the
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> new option
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>> added by Wonseok. But you are concerned about the session
>> >>>>>>>>>>>>> name.
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> So how does
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>> the user-specified session name come into the picture?
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> As long as the session has the correct name at the time we
>> >>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> initialize
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>> the loggers, it should not matter whether the use has
>> >>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> specified the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>> session name or we have defaulted it.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>> Perhaps we should enter an enhancement that says
>> something
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> like:
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> Currently the Default logger is used for some of the
>> >>>>>>>>>>>>>> initial
>> >>>>>>>>>>>
>> >>>>>>>>>>> setup
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> messages in JPA. Changing the logging level in JPA
>> >>>>>>>>>>>>>> affects the
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logging
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> level of the default logger and therefore
>> potentially affects
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> users of
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> the default logger outside of the persistence
>> unit. TopLink
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> should be
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> enhanced to allow persistence units to log messages
>> before
>> >>>>>>>>>>>>>> the
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> session
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> is available at all the available levels without having
>> >>>>>>>>>>>>>> the log
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> level
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>> for the persistence unit affect future users of the
>> >>>>>>>>>>>>>> default
>> >>>>>>>>>>>
>> >>>>>>>>>>> log.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> We have an IT that says that AbstractSessionLog is being
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> constantly changed:
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>
>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=1113. Do
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> you want to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>> change that one, or file another? Feel free to do
>> either one.
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> That one looks fine.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> Hi Tom,
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> This is not a problem. Do you want to be able to
>> set the
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> default logger
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>> level from a separate PU property (if yes, in all
>> envs or
>> >>>>>>>>>>>>>>> Java
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> SE only)?
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> Tom Ware wrote:
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> Hi Marina,
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> How about the following:
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> 1. Change the namespace for the default logger to
>> >>>>>>>>>>>>>>>> "oracle.toplink.essentials.default".
>> >>>>>>>>>>>>>>>> 2. Change the namespace for the session loggers to
>> >>>>>>>>>>>>>>>> "oracle.toplink.essentials.session.<sessionName>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> That way we can avoid a clash between the default
>> logger
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> and the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>> session loggers.
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> What do you think?
>> >>>>>>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> Hi Tom,
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> What behavior would you like to see (keeping in
>> mind that
>> >>>>>>>>>>>>>>>>> AbstractSessionLog
>> >>>>>>>>>>>>>>>>> doesn't have a name, and is used only for a limited
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> pre-session-creation
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> configuration).
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> BTW, now that we create a session and name it at the
>> >>>>>>>>>>>>>>>>> time we
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> create
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> the loggers,
>> >>>>>>>>>>>>>>>>> can we get rid of the AbstractSessionLog instance
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> altogether?
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> Tom Ware wrote:
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> Hi Marina,
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> The reason I am concerned (and the reason I am slow
>> >>>>>>>>>>>>>>>>>> getting
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> back to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> you) is that all of the following make it so
>> there is a
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> session name
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> is a "reserved word" since the namespace for a
>> session is
>> >>>>>>>>>>>>>>>>>> oracle.toplink.essentials.<sessionName>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> - oracle.toplink.essentials.default
>> >>>>>>>>>>>>>>>>>> - oracle.toplink.essentials.default-logger
>> >>>>>>>>>>>>>>>>>> - oracle.toplink.essentials.non-session
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> I am trying to figure out if there is a
>> reasonable way to
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> solve this
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> problem and avoid having a session name that
>> behaves
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> differently (no
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> matter how obscure the name ends up being). In
>> >>>>>>>>>>>>>>>>>> addition, I
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> am hoping
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> to keep the name spaces so they are intuitive.
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> Tom,
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> One more thought: may be we should assign
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> AbstractSessionLog namespace
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> called oracle.toplink.essentials.non-session or
>> >>>>>>>>>>>>>>>>>>> something
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> to that
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> extent?
>> >>>>>>>>>>>>>>>>>>> It's not a default logger, and a different name
>> will
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> clarify a lot
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> of confusion.
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> Hi Tom,
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> Tom Ware wrote:
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> Hi Marina,
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> Comments inline.
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> Hi Tom,
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> About the name (your other email) - we can use
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> something else
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> other than
>> >>>>>>>>>>>>>>>>>>>>>> "default", or we can document that a session
>> named
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> "default" will
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> have
>> >>>>>>>>>>>>>>>>>>>>>> the same log level as the default logger
>> (whether
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> explicitly
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> specified
>> >>>>>>>>>>>>>>>>>>>>>> or not).
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> I have a strong preference towards a solution
>> that
>> >>>>>>>>>>>>>>>>>>>>> does
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> not not
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> make any potential session names into
>> "reserved words"
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> and will
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> required some convincing that a solution that
>> makes
>> >>>>>>>>>>>>>>>>>>>>> any
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> session
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> name into a "reserved word" is the only
>> reasonable way
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> forward.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> No problem. Worth discussing ;)
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> Here are my thoughts about the options:
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> Tom Ware wrote:
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> I am still brainstorming for ideas. So far
>> here's
>> >>>>>>>>>>>>>>>>>>>>>>> all
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> I have
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> come up with.
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> 1. Do not change the namespace
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> We know it causes all types of problems if PU
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> properties apply to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> the AbstractSessionLog.
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> That's why I am trying to figure out an
>> alternate
>> >>>>>>>>>>>>>>>>>>>>> way of
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> dealing
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> with the default logger stored on
>> AbstractSessionLog.
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> 2. Add a property that allows the default
>> TopLink
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logging level
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> to be set. ( toplink.logging.level.default or
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> something like that).
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> Do you mean for the AbstractSessionLog to
>> ignore the
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> current
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> toplink.logging.level specified in a PU and
>> use the
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> default unless
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> explicitly specified by the
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> toplink.logging.level.default?
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> Can be an option.
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> Your interpretation of my suggestion is
>> correct. I am
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> open to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> other suggestions as well.
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> 3. Document the new property as the only
>> way to
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> change the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> logging level for pre-session-creation
>> configuration
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> (i.e.the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> only way to change the logging level of the
>> default
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logger on
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> AbstractSessionLog). Also, document the
>> fact that
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> setting the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> value of this property in any persistence
>> unit could
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> affect
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> other persistence units and will override
>> any parent
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logging
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> setting.
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> No, it shouldn't override the parent, i.e.
>> >>>>>>>>>>>>>>>>>>>>>> toplink.logging.level.default
>> >>>>>>>>>>>>>>>>>>>>>> will not affect
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> toplink.logging.level.<very-long-constructed-session-name>.
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> This was the reason to add its own name to the
>> >>>>>>>>>>>>>>>>>>>>>> default
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logger.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> First, in case my phrasing was not clear, by
>> "override
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the parent"
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> I simply mean using that property to specify the
>> >>>>>>>>>>>>>>>>>>>>> logging
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> level for
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> " oracle.toplink.essentials" - not changing
>> the logging
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> level on
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> the parent logger.
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> " oracle.toplink.essentials" is the parent logger
>> >>>>>>>>>>>>>>>>>>>> for all
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> other
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> loggers.
>> >>>>>>>>>>>>>>>>>>>> The goal is to never set the level on that
>> particular
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logger from any
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> of the PU properties.
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> Assuming my initial phrasing was adequately
>> >>>>>>>>>>>>>>>>>>>>> understood,
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> I am not
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> sure I understand what you are saying here. If
>> >>>>>>>>>>>>>>>>>>>>> someone
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> specifies
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> toplink.logging.level.default, they are
>> explicitly
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> setting a
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> logging level. Why shouldn't that set the
>> level for
>> >>>>>>>>>>>>>>>>>>>>> " oracle.toplink.essentials"?
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> Setting the level for " oracle.toplink.essentials"
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> explicitly breaks GF
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> integration, as it will not be possible to
>> reset it to
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> defaults
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> dynamically:
>> >>>>>>>>>>>>>>>>>>>> the default value is not set on
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> "oracle.toplink.essentials" - it's
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> a property
>> >>>>>>>>>>>>>>>>>>>> that is not present for the defaults, but by Java
>> >>>>>>>>>>>>>>>>>>>> logging
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> defaults,
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> i.e.
>> >>>>>>>>>>>>>>>>>>>> "" logger in our case.
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> The one strange thing this setting does is
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> it potentially has side effects for the next
>> user
>> >>>>>>>>>>>>>>>>>>>>> of the
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> default
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> log. This setting is one that is likely to
>> be only
>> >>>>>>>>>>>>>>>>>>>>> used
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> while
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> debugging (and infrequently, even then) due
>> to the
>> >>>>>>>>>>>>>>>>>>>>> fact
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> that there
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> are very few messages at a more granular
>> level that
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> INFO(the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> default) that are written to the default
>> logger. As a
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> result, I
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> am willing to live with that side effect as
>> long as we
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> adequately
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> document it.
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> What if we change the setting to
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> toplink.logging.level.config or
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> toplink.logging.level.default-logger, and
>> ensure it
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> does not have
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> any effect on the session loggers.
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> Yes, we can have
>> toplink.logging.level.default-logger
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> mapped to the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> "oracle.toplink.essentials.default-logger"
>> namespace,
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> which will
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> not affect
>> >>>>>>>>>>>>>>>>>>>> any session loggers, but will use the same global
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> defaults if not
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> set explicitly.
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> 4. Only use the existing property (
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> toplink.logging.level) to set
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> the level of the session's log.
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> This will require a redeploy to apply a
>> change, and
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> doesn't solve
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> the
>> >>>>>>>>>>>>>>>>>>>>>> problem of having separate log levels for
>> separate
>> >>>>>>>>>>>>>>>>>>>>>> PUs.
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> What conditions cause us to need a redeploy
>> for a
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> change?
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> If a user once specified a
>> toplink.logging.level in the
>> >>>>>>>>>>>>>>>>>>>> persistence.xml,
>> >>>>>>>>>>>>>>>>>>>> they can't just remove that property to get the
>> >>>>>>>>>>>>>>>>>>>> defaults.
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> They need to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> redeploy either way if they change
>> persistence.xml, but
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> they'll
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> need to
>> >>>>>>>>>>>>>>>>>>>> either reset it to INFO, or restart the server
>> after
>> >>>>>>>>>>>>>>>>>>>> the
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> redeploy
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> to get
>> >>>>>>>>>>>>>>>>>>>> the defaults.
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> If toplink.logging.level sets only the level
>> of the
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> sessions log.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> (i.e. for session "session1", only the logger in
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> namespace
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> " oracle.toplink.essentials.session1" is
>> affected),
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> doesn't this
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> solve the problem of having separate log
>> levels for
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> separate PUs?
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> Please forgive me if I am being missing something
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> obvious.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> Yes. It does. I think we now go in circles
>> around the
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> following
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> proposal:
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> 1. Existing toplink.logging.level property to
>> affect
>> >>>>>>>>>>>>>>>>>>>> only
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> session
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> loggers.
>> >>>>>>>>>>>>>>>>>>>> 2. Introduce toplink.logging.level.default-logger
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> property that
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> will affect
>> >>>>>>>>>>>>>>>>>>>> AbstractSessionLog only and will be global for
>> all
>> >>>>>>>>>>>>>>>>>>>> PUs in
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> this VM.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> As we didn't discuss the categories behavior
>> so far,
>> >>>>>>>>>>>>>>>>>>>> 3. It's not possible to choose for a user a
>> separate
>> >>>>>>>>>>>>>>>>>>>> log
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> level for
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> separate
>> >>>>>>>>>>>>>>>>>>>> category.
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> Do you agree?
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> I haven't completely thought it out, but
>> figured I
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> pass on the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> idea to start the discussion.
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> yes, let's sort it out (and document the
>> result).
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> Tom Ware wrote:
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> Hi Marina,
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> Thanks for the lesson:)
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> As far as changing the namespace for the
>> default
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logger to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> " oracle.toplink.essentials.default", I have a
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> concern. Isn't
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> this the same namespace as a session called
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> "default"? I
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> believe this could cause problems.
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> I still need to do some thinking about the
>> issue of
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> how we deal
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> with the logging level of the default
>> Logger. It
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> seems to me
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> to potentially be an issue regardless of
>> what we do
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> about this
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> bug. I'll let you know what I come up with.
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> I think Wonsoek has replied to your
>> question about
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the default
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> logging levels. Please let me know if you
>> have
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> additional
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> questions.
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> Marina Vatkina wrote:
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Tom, Wonseok,
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Yes, I should've extracted the relevant
>> portion
>> >>>>>>>>>>>>>>>>>>>>>>>>> into
>> >>>>>>>>>>>>>>>>>>>>>>>>> setServerSessionName
>> >>>>>>>>>>>>>>>>>>>>>>>>> (don't know why I missed half of the code
>> :( -
>> >>>>>>>>>>>>>>>>>>>>>>>>> sorry
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> about that).
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Yes, it should be ".default".
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> The categories are appended to each name
>> space,
>> >>>>>>>>>>>>>>>>>>>>>>>>> and
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> I'm not
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> sure the categories
>> >>>>>>>>>>>>>>>>>>>>>>>>> are implemented correctly now in the
>> JavaLog if
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> they are
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> expected to be
>> >>>>>>>>>>>>>>>>>>>>>>>>> specified by the user. But let's discuss this
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> further, and see
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> where is the
>> >>>>>>>>>>>>>>>>>>>>>>>>> right solution.
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Here is the problem that I'm trying to solve.
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Java loggers use parent's level if it is not
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> explicitly set,
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> but use its own
>> >>>>>>>>>>>>>>>>>>>>>>>>> level otherwise. There is no way to unset
>> a level,
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> once it's
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> set explicitly.
>> >>>>>>>>>>>>>>>>>>>>>>>>> The namespace is registered with the
>> LogMgr in the
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> VM, which
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> means that as long
>> >>>>>>>>>>>>>>>>>>>>>>>>> as you use the same name, you are getting
>> the same
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Java logger
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> instance.
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Now, if a log level is specified in a
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> persistence.xml as a
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> property, we do set
>> >>>>>>>>>>>>>>>>>>>>>>>>> it currently on the default logger by
>> processing
>> >>>>>>>>>>>>>>>>>>>>>>>>> AbstractSessionLog in
>> >>>>>>>>>>>>>>>>>>>>>>>>> initOrUpdateLogging (which without ".default"
>> >>>>>>>>>>>>>>>>>>>>>>>>> equals
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> to the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> overall TopLink namespace of "
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> oracle.toplink.essentials") ,
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> i.e. any other PU after that will
>> >>>>>>>>>>>>>>>>>>>>>>>>> use that level (if it doesn't specify it
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> explicitly), or will
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> override it again
>> >>>>>>>>>>>>>>>>>>>>>>>>> with its own setting if it is different.
>> Which
>> >>>>>>>>>>>>>>>>>>>>>>>>> means
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> that 2
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> PUs can't have 2
>> >>>>>>>>>>>>>>>>>>>>>>>>> different logging levels.
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Adding ".default" will give
>> AbstractSessionLog
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> it's own
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> sub-space.
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Setting the ServerSession name much
>> earlier, gives
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> each PU
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> it's own sub-space.
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Now the subcategories (I had never
>> tested, how
>> >>>>>>>>>>>>>>>>>>>>>>>>> would
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> it work
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> in GF): the
>> >>>>>>>>>>>>>>>>>>>>>>>>> current code constructs the corresponding
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> namespace as:
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> sessionNameSpace =
>> DEFAULT_TOPLINK_NAMESPACE +
>> >>>>>>>>>>>>>>>>>>>>>>>>> "." +
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> sessionName;
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> String loggerNameSpace = sessionNameSpace
>> + "." +
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> loggerCategory;
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> It might be better to have it as
>> >>>>>>>>>>>>>>>>>>>>>>>>> DEFAULT_TOPLINK_NAMESPACE + "." +
>> loggerCategory +
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> sessionName;
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Right?
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> I need to think more about changing the
>> session
>> >>>>>>>>>>>>>>>>>>>>>>>>> name
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> - we
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> can't unregister
>> >>>>>>>>>>>>>>>>>>>>>>>>> a logger from a LogMgr, so changing a
>> name will
>> >>>>>>>>>>>>>>>>>>>>>>>>> mean
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> creating
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> new loggers,
>> >>>>>>>>>>>>>>>>>>>>>>>>> right?
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Tom, about the new useParentLevel() -
>> will it
>> >>>>>>>>>>>>>>>>>>>>>>>>> be OFF
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> or INFO
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> by default,
>> >>>>>>>>>>>>>>>>>>>>>>>>> if you don't specify the level in SE? Can you
>> >>>>>>>>>>>>>>>>>>>>>>>>> check?
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>>>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Tom Ware wrote:
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Marina and Wonsoek,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> - Can you explain a bit more why you need to
>> >>>>>>>>>>>>>>>>>>>>>>>>>> append
>> >>>>>>>>>>>>>>>>>>>>>>>>>> ".default" to the default log
>> namespace. How
>> >>>>>>>>>>>>>>>>>>>>>>>>>> will
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> this work
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> in conjuction with the logger
>> categories? How
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> exactly is the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> current namespace causing issues? Will
>> users have
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> to now
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> specify ".default" on all their
>> categories? (
>> >>>>>>>>>>>>>>>>>>>>>>>>>> e.g.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> oracle.toplink.essentials.default.sql) To me,
>> >>>>>>>>>>>>>>>>>>>>>>>>>> this
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> seems a
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> bit less intuitive than being able to
>> set the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logging levels
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> without the "default".
>> >>>>>>>>>>>>>>>>>>>>>>>>>> - BTW: Assuming we can sort out the
>> "default", I
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> think the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> namespace is currently missing a
>> dot. It looks
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> like it is
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> oracle.toplink.essentialsdefault.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Additional comments inline:
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Wonseok Kim wrote:
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Marina,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> comments in line...
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> On 10/12/06, *Marina Vatkina* <
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Marina.Vatkina_at_sun.com <mailto:Marina.Vatkina_at_sun.com>
>> <mailto:Marina.Vatkina_at_sun.com <mailto:Marina.Vatkina_at_sun.com>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> <mailto: Marina.Vatkina_at_sun.com
>> <mailto:Marina.Vatkina_at_sun.com>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> <mailto:Marina.Vatkina_at_sun.com
>> <mailto:Marina.Vatkina_at_sun.com>>>> wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Tom, Wonseok,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Please review the changes.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Major points are described below in the
>> IT note.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Other diffs:
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> a) renamed initServerSession() to
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> setServerSessionName(),
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> removed
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> from it the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> call to assignCMP3Policy(), and changed the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> javadoc comments as
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> they didn't
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> reflect the actual things happening in the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> method
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> anyway;
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> b) changed to call assignCMP3Policy()
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> directly in
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> place of the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> previous
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> initServerSession() call;
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> c) moved the call to setServerSessionName()
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> to the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> beginning of
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> predeploy (see
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> the reason #3 below).
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Tom, do you see any problem with
>> registering the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> session by
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> name
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> so early? I
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> couldn't find any code in the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> EntityManagerSetupImpl that would
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> suggest that
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> it can be.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Original initServerSession() does
>> another
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> things. Those
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> calls session.getDescriptors() but this is
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> filled in
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> predeploy phase. Therefore I think this
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> should not
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> be called
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> before predeploy finishes.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> How about making a new method
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> "initSessionName()" by
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> extracting only the following code?
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> // use default session name if none is
>> provided
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> String name =
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> EntityManagerFactoryProvider.getConfigPropertyAsString(TopLinkProperties.SESSION_NAME
>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> ,
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> m);
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> if(name == null) {
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> if (
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> persistenceUnitInfo.getPersistenceUnitRootUrl()
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> != null){
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> name =
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> persistenceUnitInfo.getPersistenceUnitRootUrl
>> ().toString() +
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> "-" +
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> persistenceUnitInfo.getPersistenceUnitName();
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> } else {
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> name =
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> persistenceUnitInfo.getPersistenceUnitName();
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> }
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> session.setName(name);
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> // session.log(SessionLog.FINEST,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> SessionLog.PROPERTIES ,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> "property_value_default", new
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Object[]{TopLinkProperties.SESSION_NAME ,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> name});
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> addSessionToGlobalSessionManager();
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> }
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> I think Wonsoek's suggestion is a good one.
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Let's
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> only move
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> the session name initialization code,
>> and not
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the other
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> code. The initServerSession() method does
>> >>>>>>>>>>>>>>>>>>>>>>>>>> more
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> than
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> initialize the name.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 2. (To Tom) Is it safe to call
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> addSessionToGlobalSessionManager() in
>> this early
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> step (with
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> uninitialized session)?
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> There is really one issue with this call we
>> >>>>>>>>>>>>>>>>>>>>>>>>>> should
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> resolve.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Details in the next item.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 3. What if SESSION_NAME is set by user
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> explicitly?
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Now
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> user-specified name is set later by
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> updateSessionName()
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> which is called from
>> updateServerSession() in
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> deploy phase.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> I think we need to set this user-specified
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> name in
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> "initSessionName()" also. But current code
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> appears
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> to allow
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> changing session name in deploy(). Then
>> should
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logger should
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> change? I'm confused.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> When we are integrated with the Server, I
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> believe, predeploy
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> and deploy will be called with the same
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> properties and
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> therefore, the call to
>> updateSessionName() should
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> result in
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> the same name as the call to
>> initSessionName().
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> In SE, the predeploy occurs before the
>> call to
>> >>>>>>>>>>>>>>>>>>>>>>>>>> createEntityManagerFactory(name,
>> properties) and
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the deploy
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> occurs after. The properties specified
>> in the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> argument to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> createEntityManagerFactory() that method
>> need
>> >>>>>>>>>>>>>>>>>>>>>>>>>> to be
>> >>>>>>>>>>>>>>>>>>>>>>>>>> considered. That is why the call is
>> made in
>> >>>>>>>>>>>>>>>>>>>>>>>>>> deploy
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> as well.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> As a result of this, there is an issue
>> we have to
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> resolve in
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> SE if we are calling
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> addSessionToGlobalSessionManager()
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> before the deploy phase.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> - What happens if we initialize with a
>> session
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> name, and the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> call to createEntityManagerFactory() has a
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> different name.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> In this case, we cannot simply change the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> session name
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> because sessions are hashed in
>> SessionManager
>> >>>>>>>>>>>>>>>>>>>>>>>>>> based
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> on their
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> name, so changing the name of the
>> session will
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> result in
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> lookup problems.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 4. (To Tom) This is another concern but
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> related to
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> #3. What
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> is the behaviour of session name
>> property? If I
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> specify the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> same session name of two applications
>> or two
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> persistence
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> units, could I share ServerSession? But it
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> doesn't
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> seem to
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> do it, because in
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> EntityManagerSetupImpl.predeploy () session
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> is always newly created like below
>> regardless of
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the session
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> name.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> session = new ServerSession(...);
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> If session name property has no effect
>> in JPA, I
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> think it
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> should be removed and then there will
>> be no
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> confusion in #3.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Session name is used to store the
>> session we
>> >>>>>>>>>>>>>>>>>>>>>>>>>> use on
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> SessionManager. We expect the session
>> name to be
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> unique. If
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> it is not, an exception will be thrown
>> when the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> session is
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> added to the SessionManager. Take a look
>> at the
>> >>>>>>>>>>>>>>>>>>>>>>>>>> addSessionToGlobalSessionManager() method.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> d) I added an api to the SessionLog to
>> allow for
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> #1 below.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Another
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> option would
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> be to check for the log level being
>> OFF, but
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> it's
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> more time
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> consuming to go up
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> the logging chain every time.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Then in Java SE, the default level of
>> JavaLogger
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> becomes
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> INFO while CONFIG is a default for
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> DefaultLogger.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> It appears
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> to be inconsistent for the default
>> level. I
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> don't
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> know why
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> the default level has been CONFIG for
>> TopLink
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logger, how
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> about changing it to INFO consistently.
>> Then we
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> don't need
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> to set default level explicitly and to
>> introduce
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> new method
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> "userParentLevel()" to SessionLog
>> interface.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> protected void
>> initOrUpdateLogging(boolean init,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Map m,
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> SessionLog log) {
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> String logLevelString =
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> PropertiesHandler.getPropertyValueLogDebug
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> ( TopLinkProperties.LOGGING_LEVEL, m,
>> session);
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> // Don't need to set default level. It
>> will
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> follow the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> default level policy of the logger.
>> INFO for
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> DefaultSessionLog. Parent logger's
>> level(INFO
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> normally) for
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> JavaLog.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> /*
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> if(logLevelString == null && init) {
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> logLevelString =
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> PropertiesHandler.getDefaultPropertyValueLogDebug(TopLinkProperties.LOGGING_LEVEL,
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> session);
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> }
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> */
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> if (logLevelString != null) {
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> log.setLevel(AbstractSessionLog.translateStringToLoggingLevel(logLevelString));
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> }
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> I just talked to our product manager and we
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> agree that
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> changing the JPA default to be the same
>> as the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> default
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> logger. (INFO) Does that remove the need
>> for the
>> >>>>>>>>>>>>>>>>>>>>>>>>>> useParentLevel() method?
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> If we make this change, I think we
>> should change
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the logging
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> in translateOldProperties and
>> >>>>>>>>>>>>>>>>>>>>>>>>>> warnOldProperties to
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> INFO.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> -Tom
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Regards
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> - Wonseok
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Let me know if you see any problems
>> with the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> proposed
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> changes. I
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> tested with
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 2 PUs being deployed, one with the
>> explicit log
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> level, and
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> another
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> without it.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> I also tested dynamic change of the log
>> levels,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> and server
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> restart. All seem
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> to work correctly.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> thanks,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> -marina
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> -------- Original Message --------
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Subject: [Issue 1107] Logger defined by a
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> property doesn't
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> work
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> Date: Thu, 12 Oct 2006 01:56:44 +0000
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> From: mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> <mailto: mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>> <mailto:mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>
>> >>>>>>>>>>> <mailto:mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> To: mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> <mailto:mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>> <mailto: mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>
>> >>>>>>>>>>> <mailto:mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=1107
>> <https://glassfish.dev.java.net/issues/show_bug.cgi?id=1107>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> User mvatkina changed the following:
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> What |Old
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> value |New value
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> ================================================================================
>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Status|NEW |STARTED
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> --------------------------------------------------------------------------------
>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> ------- Additional comments from
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> mvatkina_at_dev.java.net <mailto:mvatkina_at_dev.java.net>
>> <mailto:mvatkina_at_dev.java.net <mailto:mvatkina_at_dev.java.net>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> <mailto: mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> <mailto:mvatkina_at_dev.java.net
>> <mailto:mvatkina_at_dev.java.net>>> Thu Oct 12 01:56:44 +0000
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 2006 -------
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> There are apparently several issues to
>> address -
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 1.Do not set log level explicitly if not
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> specified
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> in the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> properties - use the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> parent logger's level (set by the
>> container)
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> instead.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 2. The default logger namespace should
>> be a
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> child
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> of TopLink
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> namespace, e.g.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> " oracle.toplink.essentials.default",
>> otherwise
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> AbstractSessionLog
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> will set the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> explicit level for all TopLink loggers
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> (overriding
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> container
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> settings) in
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> the VM on the first PU with the
>> specified log
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> level.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> 3. ServerSession name must be set prior to
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> setting the
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> logger for
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> that session,
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> otherwise the logger is registered as the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> default
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> logger,
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> and its
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> level will
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> apply to all PUs in this VM.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> A note: the problem that can't be
>> solved so
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> far is
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> switching
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> between explicitly
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> specified log level for a PU and the
>> defalt app
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> server level
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> for
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> this namespace.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> As there is no way to unset log level
>> after it's
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> set, the only
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> work around will
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> be to change the property value or restart
>> >>>>>>>>>>>>>>>>>>>>>>>>>>> the
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> server.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>
>> >>>
>>
>>
>>
>>
>>