Configuring Kodo logging ...

Hi Guys,
Can somebody help me on this one? I have been banging my head against wall
for quite a while.
I am basically trying to limit the amount of logging Kodo produces by
providing log4j.properties (attached bellow).
We have Kodo (2.4.2) deployed on Websphere (WAS 5.0) server. For some
reason, Kodo libraries need to be deployed via Websphere extension
classloader (../websphere/AppServer/lib/ext).
To eliminate the classloader issues, I have tried heaps of locations for
the log4j.properties and to my surprise, none of it worked. Tested
locations included:
log4j.properties in (../websphere/AppServer/lib/ext
log4j.properties inside of jar file in (../websphere/AppServer/lib/ext
log4j.properties in kodo.jar (desperate)
log4j.properties in ../Websphere/AppServer/properties
log4j.properties on classpath when starting the server (java -cp
xxx;log4j.properties ... )
and a few others.
As you may guess, no luck. I can get the properties file myself as shown
bellow(that is, 'log4j.properties' loads fine, '/log4j.properties' returns
null). Does Kodo look for log4j.properties or '/log4j.properties'?
The test code was classloaded from the same location as Kodo.jar etc
(../websphere/AppServer/lib/ext)
Anyway, it may be just that I am a bit fuzzy on what is exactly happening
when common-loggings/log4j initialize andI would definitelly appretiate a
pointer in the right direction if that is the case.
Kodo should use log4j as long as the log4j.1.2.7.jar file is present on
the classpath, right?
Thank you for your help!
Petr
Testing code loading the properties:
URL ps = getClass().getClassLoader().getResource("log4j.properties");
          URL ps2 = getClass().getClassLoader().getResource("/log4j.properties");
          URL sps =
               getClass().getClassLoader().getSystemClassLoader().getResource("log4j.properties");
          URL sps2 =
               getClass().getClassLoader().getSystemClassLoader().getResource("/log4j.properties");
          System.out.println("CheckClassPath - log4j.properties: " + ps);
          System.out.println("CheckClassPath - /log4j.properties: " + ps2);
          System.out.println("CheckClassPath system - log4j.properties: " + sps);
          System.out.println("CheckClassPath system - /log4j.properties: " + sps2);
Output snippet:
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath -
log4j.properties:
file:/C:/Program%20Files/WebSphere/AppServer/properties/log4j.properties
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath -
/log4j.properties: null
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath system
- log4j.properties:
file:/C:/Program%20Files/WebSphere/AppServer/properties/log4j.properties
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath system
- /log4j.properties: null
log4j.properties:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootCategory=ERROR, console
#Subsystem level settings
log4j.logger.servicenet.core =DEBUG
log4j.logger.servicenet.core.test =FATAL
#KODO - disabled
log4j.rootCategory=ERROR, console
log4j.category.com.solarmetric.kodo = ERROR, console
log4j.category.com.solarmetric.kodo.impl.jdbc.SQL=FATAL, console
log4j.category.com.solarmetric.kodo.impl.jdbc.JDBC=FATAL, console
log4j.category.com.solarmetric.kodo.impl.jdbc.Schema=ERROR, console
log4j.category.com.solarmetric.kodo.Performance=ERROR, console
log4j.category.com.solarmetric.kodo.MetaData=ERROR, console
log4j.category.com.solarmetric.kodo.Enhance=ERROR, console
log4j.category.com.solarmetric.kodo.Query=ERROR, console
log4j.category.com.solarmetric.kodo.Runtime=ERROR, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

I'm afraid I don't get it. Can someone tell me specifically, what to
do, to prevent kodo from logging anything to stdout (or anywhere else,
really)
I do not want to adjust my log4j root logging verbosity, as I use that
for my application too.
Preferably I should be able to do this from the kodo.properties file
itself, rather than play
guess-where-in-the-classpath-is-the-proper-log4j.properties file.
Petr Bulanek wrote:
Hi Stephen,
That was it. Man, I would like to buy you a drink!!! :-))))
I should not forget Marc, you guys are all great!
Thank you!!!
Petr
Stephen Kim wrote:
I think the property you are looking for is:
org.apache.commons.logging.LogFactory
See further documentation on Jakarta's logging page at:
http://jakarta.apache.org/commons/logging/api/org/apache/commons/logging/package-frame.html
Petr Bulanek wrote:
Hi Stephen,
Thank you for your reply.
I have tried the following combinations in my startServer.bat script:
SET LOG4J=-Dlog4j.configuration=file:/c:/log4j.properties
and
SET LOG4J=-Dlog4j.configuration=/log4j.properties
"%JAVA_HOME%binjava" %LOG4J% %WAS_TRACE% %DEBUG% %CONSOLE_ENCODING%
"%CLIENTSAS%" "-classpath" "%WAS_CLASSPATH%;/log4j.properties;"
"-Dws.ext.dirs=%WAS_EXT_DIRS%;c:/log4j.properties;" %USER_INSTALL_PROP%
"-Dwas.install.root=%WAS_HOME%" "com.ibm.ws.bootstrap.WSLauncher"
"com.ibm.ws.management.tools.WsServerLauncher" "%CONFIG_ROOT%"
"%WAS_CELL%" "%WAS_NODE%" %*
and none of them made any difference. I wonder if it could be the case
that Kodo is not using log4j, but some other logging method instead.
Could just having jdk 1.4 installed make any difference? Is there anything
I can do to force Kodo to use log4j instead of relying on default
initialization of common-loggings?
Thank you,
Petr
You might want to set the system property explicity:
from log4j's docs:
Set the resource string variable to the value of the log4j.configuration
system property. The preferred way to specify the default initialization
file is through the log4j.configuration system property. In case the
system property log4j.configuration is not defined, then set the string
variable resource to its default value "log4j.properties".
Petr Bulanek wrote:
Hi Guys,
Can somebody help me on this one? I have been banging my head against wall
for quite a while.
I am basically trying to limit the amount of logging Kodo produces by
providing log4j.properties (attached bellow).
We have Kodo (2.4.2) deployed on Websphere (WAS 5.0) server. For some
reason, Kodo libraries need to be deployed via Websphere extension
classloader (../websphere/AppServer/lib/ext).
To eliminate the classloader issues, I have tried heaps of locations for
the log4j.properties and to my surprise, none of it worked. Tested
locations included:
log4j.properties in (../websphere/AppServer/lib/ext
log4j.properties inside of jar file in (../websphere/AppServer/lib/ext
log4j.properties in kodo.jar (desperate)
log4j.properties in ../Websphere/AppServer/properties
log4j.properties on classpath when starting the server (java -cp
xxx;log4j.properties ... )
and a few others.
As you may guess, no luck. I can get the properties file myself as shown
bellow(that is, 'log4j.properties' loads fine, '/log4j.properties' returns
null). Does Kodo look for log4j.properties or '/log4j.properties'?
The test code was classloaded from the same location as Kodo.jar etc
(../websphere/AppServer/lib/ext)
Anyway, it may be just that I am a bit fuzzy on what is exactly happening
when common-loggings/log4j initialize andI would definitelly appretiate a
pointer in the right direction if that is the case.
Kodo should use log4j as long as the log4j.1.2.7.jar file is present on
the classpath, right?
Thank you for your help!
Petr
Testing code loading the properties:
URL ps = getClass().getClassLoader().getResource("log4j.properties");
          URL ps2 = getClass().getClassLoader().getResource("/log4j.properties");
          URL sps =
               getClass().getClassLoader().getSystemClassLoader().getResource("log4j.properties");
          URL sps2 =
               getClass().getClassLoader().getSystemClassLoader().getResource("/log4j.properties");
          System.out.println("CheckClassPath - log4j.properties: " + ps);
          System.out.println("CheckClassPath - /log4j.properties: " + ps2);
          System.out.println("CheckClassPath system - log4j.properties: " + sps);
          System.out.println("CheckClassPath system - /log4j.properties: " +sps2);
Output snippet:
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath -
log4j.properties:
file:/C:/Program%20Files/WebSphere/AppServer/properties/log4j.properties
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath -
/log4j.properties: null
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath system
- log4j.properties:
file:/C:/Program%20Files/WebSphere/AppServer/properties/log4j.properties
[1/04/03 17:28:20:285 EST] 1a9ec7b6 SystemOut O CheckClassPath system
- /log4j.properties: null
log4j.properties:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootCategory=ERROR, console
#Subsystem level settings
log4j.logger.servicenet.core =DEBUG
log4j.logger.servicenet.core.test =FATAL
#KODO - disabled
log4j.rootCategory=ERROR, console
log4j.category.com.solarmetric.kodo = ERROR, console
log4j.category.com.solarmetric.kodo.impl.jdbc.SQL=FATAL, console
log4j.category.com.solarmetric.kodo.impl.jdbc.JDBC=FATAL, console
log4j.category.com.solarmetric.kodo.impl.jdbc.Schema=ERROR, console
log4j.category.com.solarmetric.kodo.Performance=ERROR, console
log4j.category.com.solarmetric.kodo.MetaData=ERROR, console
log4j.category.com.solarmetric.kodo.Enhance=ERROR, console
log4j.category.com.solarmetric.kodo.Query=ERROR, console
log4j.category.com.solarmetric.kodo.Runtime=ERROR, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-4r [%t] %-5p %c %x -%m%n
Stephen Kim
[email protected]
SolarMetric, Inc.
http://www.solarmetric.com
Stephen Kim
[email protected]
SolarMetric, Inc.
http://www.solarmetric.com

Similar Messages

  • Configuring kodo-jdo-2.5.3 with weblogic 8.1 using JCA

    Hi there.
    I am trying to configure kodo-jdo-2.5.3 in WebLogic 8.1 using JCA method.
    The issue I got was that I got DB authentication failed. I have tested my
    JDBC connect -- working fine, I have turned on JDBC log in WL, it looks
    fine.
    It looks like that KODO was still trying to create its own JDBC connection
    even I have specified
    <config-property>
    <description>The JNDI name of the connection factory to use for
    obtaining connections.</description>
    <config-property-name>ConnectionFactoryName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>datasource.oracle9</config-property-value>
    </config-property>
    "datasource.oracle9" is the JNDI name of my data source.
    The error message is the following. I will really appreciate your help.
    Melvin
    Oct 19, 2003 4:20:53 AM com.solarmetric.kodo.impl.jdbc.RegisterListener
    registerClass
    SEVERE: com.solarmetric.kodo.runtime.FatalDataStoreException:
    java.sql.SQLException: User: melvin, f
    ailed to be authenticated. [code=0;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    com.solarmetric.kodo.runtime.FatalDataStoreException:
    java.sql.SQLException: User: melvin, failed to
    be authenticated. [code=0;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:58)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:212)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClassInternal(JDBCPe
    rsistenceManagerFactory.java:455)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClass(JDBCPersistenc
    eManagerFactory.java:338)
    at
    com.solarmetric.kodo.impl.jdbc.RegisterListener.registerClass(RegisterListener.java:53)
    at
    javax.jdo.spi.JDOImplHelper.registerClass(JDOImplHelper.java:269)
    at samples.j2ee.Car.<clinit>(Car.java)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:140)
    at samples.j2ee.ejb.CarBean.class$(CarBean.java:11)
    at samples.j2ee.ejb.CarBean.list(CarBean.java:136)
    at
    samples.j2ee.ejb.CarEJB_pgfrtx_EOImpl.list(CarEJB_pgfrtx_EOImpl.java:201)
    at jsp_servlet.__index._jspService(__index.java:170)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at
    weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
    a:1053)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:6310)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
    22)
    at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    NestedThrowablesStackTrace:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    weblogic.jdbc.common.internal.RmiDataSource.getSubject(RmiDataSource.java:257)
    at
    weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:188)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.DataSourceConnector.getConnection(DataSourceConnec
    tor.java:63)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:179)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClassInternal(JDBCPe
    rsistenceManagerFactory.java:455)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.registerClass(JDBCPersistenc
    eManagerFactory.java:338)
    at
    com.solarmetric.kodo.impl.jdbc.RegisterListener.registerClass(RegisterListener.java:53)
    at
    javax.jdo.spi.JDOImplHelper.registerClass(JDOImplHelper.java:269)
    at samples.j2ee.Car.<clinit>(Car.java)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:140)
    at samples.j2ee.ejb.CarBean.class$(CarBean.java:11)
    at samples.j2ee.ejb.CarBean.list(CarBean.java:136)
    at
    samples.j2ee.ejb.CarEJB_pgfrtx_EOImpl.list(CarEJB_pgfrtx_EOImpl.java:201)
    at jsp_servlet.__index._jspService(__index.java:170)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at
    weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
    a:1053)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:6310)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
    22)
    at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    <Oct 19, 2003 4:20:53 AM CDT> <Info> <EJB> <BEA-010051> <EJB Exception
    occurred during invocation fr
    om home: samples.j2ee.ejb.CarEJB_pgfrtx_HomeImpl@1c059f6 threw exception:
    com.solarmetric.kodo.runti
    me.FatalDataStoreException: java.sql.SQLException: User: melvin, failed to
    be authenticated. [code=0
    ;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    com.solarmetric.kodo.runtime.FatalDataStoreException:
    java.sql.SQLException: User: melvin, failed to
    be authenticated. [code=0;state=null]
    NestedThrowables:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:58)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:212)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getDictionary(JDBCStoreManager.ja
    va:753)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1023)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1037)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCExtent.getResultList(JDBCExtent.java:71)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCExtent.getIterator(JDBCExtent.java:47)
    at
    com.solarmetric.kodo.runtime.ExtentImpl$MultipleSubclassIterator.newIterator(ExtentImpl.j
    ava:344)
    at serp.util.MultiIterator.setIterator(MultiIterator.java:74)
    at serp.util.MultiIterator.hasNext(MultiIterator.java:29)
    at serp.util.LookaheadIterator.setNext(LookaheadIterator.java:133)
    at
    serp.util.LookaheadIterator.initialize(LookaheadIterator.java:118)
    at serp.util.LookaheadIterator.hasNext(LookaheadIterator.java:48)
    at serp.util.MultiIterator.setIterator(MultiIterator.java:73)
    at serp.util.MultiIterator.hasNext(MultiIterator.java:29)
    at
    com.solarmetric.kodo.runtime.ExtentImpl$TransactionAwareIterator.hasNext(ExtentImpl.java:
    403)
    at samples.j2ee.ejb.CarBean.list(CarBean.java:138)
    at
    samples.j2ee.ejb.CarEJB_pgfrtx_EOImpl.list(CarEJB_pgfrtx_EOImpl.java:201)
    at jsp_servlet.__index._jspService(__index.java:170)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at
    weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.jav
    a:1053)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:431)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:6310)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
    22)
    at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    NestedThrowablesStackTrace:
    java.sql.SQLException: User: melvin, failed to be authenticated.
    at
    weblogic.jdbc.common.internal.RmiDataSource.getSubject(RmiDataSource.java:257)
    at
    weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:188)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.DataSourceConnector.getConnection(DataSourceConnec
    tor.java:63)
    at
    com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFacto
    ry.java:179)
    at
    com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfigurat
    ion.java:370)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getDictionary(JDBCStoreManager.ja
    va:753)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1023)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBCStoreManager.
    java:1037)

    Alex Robbins wrote:
    Try removing <authentication-mechanism> from the ra.xml file of the Kodo
    JCA connector. Then it won't try to authenticate against the WL security
    realm. (If you want connector-level authentication as well as DB-conn
    authentication i think you'll have to configure WL security. I don't know
    how). This worked for me.
    Alex.Hi, The following is the ra.xml, please see any problem.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector
    1.0//EN' 'http://java.sun.com/dtd/connector_1_0.dtd'>
    <connector>
    <display-name>KodoJDO</display-name>
    <description>Resource Adapter for integration of the Kodo Java Data
    Objects (JDO) implementation with J2EE 1.3 compliant managed
    environments</description>
    <icon>
    <small-icon>kodo16.gif</small-icon>
    <large-icon>kodo32.gif</large-icon>
    </icon>
    <vendor-name>Solarmetric, Inc.</vendor-name>
    <spec-version>1.0</spec-version>
    <eis-type>jdo</eis-type>
    <version>1.0</version>
    <license>
    <description>See http://www.solarmetric.com for terms and license
    conditions.</description>
    <license-required>true</license-required>
    </license>
    <resourceadapter>
    <managedconnectionfactory-class>com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl</managedconnectionfactory-class>
    <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
    <connectionfactory-impl-class>com.solarmetric.kodo.impl.jdbc.ee.JDOConnectionFactory</connectionfactory-impl-class>
    <connection-interface>javax.resource.cci.Connection</connection-interface>
    <connection-impl-class>com.solarmetric.kodo.ee.EEPersistenceManager</connection-impl-class>
    <transaction-support>XATransaction</transaction-support>
    <config-property>
    <description>The number of hard references to cached objects that the
    PersistenceManager's cache will retain (in addition to the soft reference
    cache that it maintains). Setting this to a higher value will result in
    more objects being retained in the cache, at the cost of utilizing more
    memory resources. Setting it to -1 will cause the PersistenceManager to
    maintain hard references only. This will result in better performance, but
    can have adverse effects on memory usage.</description>
    <config-property-name>CacheReferenceSize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>1000</config-property-value>
    </config-property>
    <config-property>
    <description>The class name of ether the JDBC java.sql.Driver, or an
    instance of a javax.sql.DataSource to use to connect to the data
    source.</description>
    <config-property-name>ConnectionDriverName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The JNDI name of the connection factory to use for
    finding non-transactional connections. If specified, this is the
    connection that will be used for access for obtaining sequence
    numbers.</description>
    <config-property-name>ConnectionFactory2Name</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>jdbc/petshop</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to be passed to
    the JDBC Driver when obtaining a Connection for the ConnectionFactory2
    (which will be used to obtain sequence numbers). Properties are of the
    form "key=value". If a javax.sql.DataSource class is defined in the
    javax.jdo.option.ConnectionDriverName property, then this property will be
    used to set bean-like properties in the DataSource instance upon creation.
    These properties vary depending on the DataSource in use: see the
    documentation for your DataSource for details on the properties to
    use.</description>
    <config-property-name>ConnectionFactory2Properties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The JNDI name of the connection factory to use for
    obtaining connections.</description>
    <config-property-name>ConnectionFactoryName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>PetShopXADataSource</config-property-value>
    </config-property>
    <config-property>
    <description>The password for the user specified in
    ConnectionUserName</description>
    <config-property-name>ConnectionPassword</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to be passed to
    the JDBC Driver when obtaining a Connection. Properties are of the form
    "key=value". If a javax.sql.DataSource class is defined in the
    javax.jdo.option.ConnectionDriverName property, then this property will be
    used to set bean-like properties in the DataSource instance upon creation.
    These properties vary depending on the DataSource in use: see the
    documentation for your DataSource for details on the properties to
    use.</description>
    <config-property-name>ConnectionProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The connection retain mode. Possible options are
    "persistence-manager", "transaction", and "on-demand". Default value is
    "on-demand".</description>
    <config-property-name>ConnectionRetainMode</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>on-demand</config-property-value>
    </config-property>
    <config-property>
    <description>The number of seconds to wait between testing
    connections retrieved from the connection pool. Only valid when using the
    built-in Kodo connection pooling.</description>
    <config-property-name>ConnectionTestTimeout</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>10</config-property-value>
    </config-property>
    <config-property>
    <description>The URL for the data source.</description>
    <config-property-name>ConnectionURL</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The username for the connection listed in
    ConnectionURL.</description>
    <config-property-name>ConnectionUserName</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for caching of data loaded
    from the data store. Must implement
    com.solarmetric.kodo.runtime.datacache.DataCache.</description>
    <config-property-name>DataCacheClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.DataCacheClass upon
    initialization.</description>
    <config-property-name>DataCacheProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the default class to use for mapping
    persistent classes to the database. Must extend
    com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.</description>
    <config-property-name>DefaultClassMappingClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping</config-property-value>
    </config-property>
    <config-property>
    <description>The number of seconds that data in the data cache is
    valid for. A value of 0 or less means that by default, cached data does
    not time out.</description>
    <config-property-name>DefaultDataCacheTimeout</config-property-name>
    <config-property-type>java.lang.Double</config-property-type>
    <config-property-value>0.0</config-property-value>
    </config-property>
    <config-property>
    <description>The number of rows that will be pre-fetched when an
    element in a Query result is accessed.</description>
    <config-property-name>DefaultFetchBatchSize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>10</config-property-value>
    </config-property>
    <config-property>
    <description>The threshold below which result lists will be
    completely instantiated upon their creation. A value of -1 will always
    force all results to be completely instantiated, thus disabling lazy
    result loading.</description>
    <config-property-name>DefaultFetchThreshold</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>30</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the default class to use for managing
    subclass indicator columns. Must implement the
    com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProvider interface. See
    custom class indicator documentation for more information about subclass
    providers.</description>
    <config-property-name>DefaultSubclassProviderClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in
    com.solarmetric.kodo.impl.jdbc.DefaultSubclassProviderClass upon
    initialization.</description>
    <config-property-name>DefaultSubclassProviderProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The DBDictionary to use for this configuration. This is
    auto-detected based on the setting of javax.jdo.option.ConnectionURL, so
    you need only set this to override the default with your own custom
    DBDictionary or if you are using an unrecognized driver.</description>
    <config-property-name>DictionaryClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of name-value properties
    settings to pass to the dictionary defined by
    com.solarmetric.kodo.impl.jdbc.DictionaryClass. Many of the DBDictionary
    options are automatically configured by concrete subclasses of
    GenericDictionary. The defaults can, however, be overridden by using this
    property.</description>
    <config-property-name>DictionaryProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then Kodo JDO will allow the use of query
    filter extensions. See the query extensions documentation for more
    information.</description>
    <config-property-name>EnableQueryExtensions</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of fetch group names that
    PersistenceManagers will load by default when loading data from the
    database.</description>
    <config-property-name>FetchGroups</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then all fields of all classes in a given
    inheritance hierarchy will by default map into the least-derived type's
    default primary table. If false then a new default primary table will be
    created for each class in the inheritance hierarchy, and each type's
    declared fields will map to that table by default.</description>
    <config-property-name>FlatInheritanceMapping</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>A String value indicating whether or not Kodo should
    automatically flush modifications to the data store before executing
    queries.</description>
    <config-property-name>FlushBeforeQueries</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>with-connection</config-property-value>
    </config-property>
    <config-property>
    <description>If false, then the JDO implementation must consider
    modifications, deletions, and additions in the PersistenceManager
    transaction cache when executing a query inside a transaction. Else, the
    implementation is free to ignore the cache and execute the query directly
    against the data store.</description>
    <config-property-name>IgnoreCache</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The license key provided to you by SolarMetric. Keys
    are available at www.solarmetric.com</description>
    <config-property-name>LicenseKey</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>xxxx</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for obtaining a reference
    to the transaction manager in an enterprise environment. Must implement
    the com.solarmetric.kodo.ee.ManagedRuntime interface.</description>
    <config-property-name>ManagedRuntimeClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.ee.AutomaticManagedRuntime</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.ManagedRuntimeClass upon
    initialization.</description>
    <config-property-name>ManagedRuntimeProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The maximum number of connections to pool. If all of
    these are in use, then PersistenceManager instances must wait for a
    connection to become available. This option has been removed from the
    specification, but we still use the javax.jdo.option for backwards
    compatibility.</description>
    <config-property-name>MaxPool</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>200</config-property-value>
    </config-property>
    <config-property>
    <description>The minimum number of connections to keep in the pool.
    This option has been removed from the specification, but we still use the
    javax.jdo.option for backwards compatibility.</description>
    <config-property-name>MinPool</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>2</config-property-value>
    </config-property>
    <config-property>
    <description>The number of milliseconds to wait for a pooled
    connection before throwing an exception if the pool is empty. This option
    has been removed from the specification, but we still use the
    javax.jdo.option for backwards compatibility.</description>
    <config-property-name>MsWait</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>30000</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then the application plans to have multiple
    threads simultaneously accessing a single PersistenceManager, so measures
    must be taken to ensure that the implementation is thread-safe. Otherwise,
    the implementation need not address thread safety.</description>
    <config-property-name>Multithreaded</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then it is possible to read persistent data
    outside the context of a transaction. Otherwise, a transaction must be in
    progress in order read data.</description>
    <config-property-name>NontransactionalRead</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>If true, then it is possible to write to fields of a
    persistent-nontransactional object when a transaction is not in progress.
    If false, such a write will result in a JDOUserException.</description>
    <config-property-name>NontransactionalWrite</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>Selects between optimistic and pessimistic (data store)
    transactional modes.</description>
    <config-property-name>Optimistic</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class that the
    PersistenceManagerFactory should create when creating a new
    PersistenceManagerImpl. Must extend
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.</description>
    <config-property-name>PersistenceManagerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the concrete implementation of
    javax.jdo.PersistenceManagerFactory that
    javax.jdo.JDOHelper.getPersistenceManagerFactory () should create. For
    Kodo JDO, this should be
    com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory or
    com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory, or a custom
    extension of one of these types.</description>
    <config-property-name>PersistenceManagerFactoryClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.PersistenceManagerClass upon
    initialization.</description>
    <config-property-name>PersistenceManagerProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A comma-separated list of classes that will be
    initialized whenever a new PersistenceManager is instantiated. This can be
    used to get around issues with application identity classes not being
    associated with their respective persistent classes.</description>
    <config-property-name>PersistentTypes</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use to proxy second class
    objects in managed instances. Must implement
    com.solarmetric.kodo.util.ProxyManager.</description>
    <config-property-name>ProxyManagerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.util.SimpleProxyManager</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.ProxyManagerClass upon
    initialization.</description>
    <config-property-name>ProxyManagerProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for caching of queries
    loaded from the data store. Must implement
    com.solarmetric.kodo.runtime.datacache.QueryCache.</description>
    <config-property-name>QueryCacheClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.runtime.datacache.query.QueryCacheImpl</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.QueryCacheClass upon
    initialization.</description>
    <config-property-name>QueryCacheProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A list of query filter listeners to add to the default
    list of extensions. Ignored if com.solarmetric.kodo.EnableQueryExtensions
    is false.</description>
    <config-property-name>QueryFilterListeners</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for communicating commit
    information among JVMs. Must implement
    com.solarmetric.kodo.runtime.event.RemoteCommitProvider.</description>
    <config-property-name>RemoteCommitProviderClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.RemoteCommitProviderClass upon
    initialization.</description>
    <config-property-name>RemoteCommitProviderProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then fields in a persistence-capable object
    that have been changed during a transaction will be rolled back to their
    original values upon a rollback. Otherwise, the values will not be changed
    upon rollback.</description>
    <config-property-name>RestoreValues</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class that will be used as the
    Collection implementation for returning ResultList instances. It must be
    an instance of
    com.solarmetric.kodo.runtime.objectprovider.ResultList.</description>
    <config-property-name>ResultListClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The property string used to configure the instance of
    the ResultListClass.</description>
    <config-property-name>ResultListProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>If true, then fields in a persistence-capable object
    that have been read during a transaction must be preserved in memory after
    the transaction commits. Otherwise, persistence-capable objects must
    transition to the hollow state upon commit, meaning that subsequent reads
    will result in a database round-trip.</description>
    <config-property-name>RetainValues</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use for generating sequence
    numbers when using data store identity. Must implement the
    com.solarmetric.kodo.impl.jdbc.SequenceFactory interface.</description>
    <config-property-name>SequenceFactoryClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.schema.DBSequenceFactory</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.impl.jdbc.SequenceFactoryClass upon
    initialization.</description>
    <config-property-name>SequenceFactoryProperties</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The class names of a SQLExecutionListener
    implementation to install on the SQLExecutionManager.</description>
    <config-property-name>SQLExecutionListenerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value></config-property-value>
    </config-property>
    <config-property>
    <description>The name of a custom SQLExecutionManager to be used for
    all issuance of SQL to the data store. Must implement
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManager.</description>
    <config-property-name>SQLExecutionManagerClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl</config-property-value>
    </config-property>
    <config-property>
    <description>The size of the PreparedStatement cache that is
    maintained in the DataSource implementation.</description>
    <config-property-name>StatementCacheMaxSize</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>70</config-property-value>
    </config-property>
    <config-property>
    <description>The time, in seconds, after which a JDBC query will be
    aborted if it has not yet returned any values. This value is simply passed
    to the JDBC driver's Statement.setTimeout method; Kodo does not perform
    any addition timeout actions. Note that many JDBC drivers either ignore
    this request, or improperly handle it, which may result in application
    deadlocks.</description>
    <config-property-name>StatementExecutionTimeout</config-property-name>
    <config-property-type>java.lang.Integer</config-property-type>
    <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
    <description>If true, the Kodo runtime will automatically attempt to
    refresh the database schema when persistent classes are referenced,
    allowing the developer to bypass the schematool step. This property is
    only intended to be used for development. As automatic schema migration
    can result in data loss, this feature should never be enabled on a
    production system. Furthermore, this feature has serious adverse affects
    on Kodo's runtime performace. Ensure that it is disabled before doing any
    performance analysis.</description>
    <config-property-name>SynchronizeSchema</config-property-name>
    <config-property-type>java.lang.Boolean</config-property-type>
    <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
    <description>The name of the class to use to store
    persistence-capable objects involved in a PM's transaction cache. Must
    implement com.solarmetric.kodo.runtime.StateManagerSet.</description>
    <config-property-name>TransactionCacheClass</config-property-name>
    <config-property-type>java.lang.String</config-property-type>
    <config-property-value>com.solarmetric.kodo.runtime.FifoStateManagerSet</config-property-value>
    </config-property>
    <config-property>
    <description>A space-separated list of properties to pass to the
    class defined in com.solarmetric.kodo.TransactionCacheClass upon
    initialization.</description>
    <config-property-name>TransactionCacheProperties</config-property-name>
    <config-property-type>java.lang.String</config-property

  • Kodo logging issue on IBM WAS 5.0

    Hi All,
    Thank you for reading this. I could use a good advice here, I have been
    banging my head against wall for a while ...
    We have a J2EE application that uses Kodo 2.4.2 with IBM WAS 5.0. Due to
    'class not found' problems (related to registering the PMfactory with
    JNDI, I reckon), I was forced to use a Websphere extension classloader to
    load Kodo. (deploy Kodo libraries to c:\program
    files\websphere\AddServer\lib\ext )
    That is good and well, however now I want to configure logging (Log4J) for
    Kodo. To do that, I have tried (feels like I have tried it all ;-)) to put
    the log4j.properties to:
    c:\program files\websphere\AddServer\properties\log4j.properties
    c:\program files\websphere\AddServer\lib\ext\log4j.jar!log4j.properties
    c:\program files\websphere\AddServer\lib\ext\log4j.properties
    inside of the Kodo.jar (desperate people do desperate things ;-))
    log4j.properties is also referenced as a part of shared library
    Just for completness, log4j.properties also exists in Java utility jar
    file that is part of EAR file (although that probably would not help the
    Websphere extension classloader-loaded classes)
    I have also tried to define the log4j.configuration in my startServer.bat:
    SET LOG4J=-Dlog4j.configuration=file:/c:/log4j.properties
    echo LOG4J set %LOG4J%
    "%JAVA_HOME%\bin\java" %LOG4J% %WAS_TRACE%
    To initialize Log4J differently. Yes, you guessed right, that damn thing
    still does not work. What am I missing???
    What exactly is happening when Kodo/Log4j configures the logging?
    It may sound like just a nuisance, but it is actually quite important,
    because we are just inch from production and need to get rid of heaps of
    debuging messages (including the annoying SQL Server induced close cursor
    exceptions). It just would not shut up!!! ;-))))
    Any idea how to silence the bloody thing beside turning off the power? ;-)
    Thank you,
    Petr

    Petr-
    The easiest thing to do would be to put some code in your application
    that will give information on the definitive location of the
    log4j.properties file. E.g.:
    System.out.println (getClass().getClassLoader().getResource("/log4j.properties"));
    Other than that, note that there are a variety of System properties you
    can use to override the logging system that will be use. The Kodo 2.5
    documentation covers this a bit better than the 2.4 docs:
    http://www.solarmetric.com/Software/Documentation/2.5.0b1/docs/manual.html#ref_guide_logging
    Finally, note that some application servers use log4j internally for
    logging, and configure it differently (e.g., JBoss uses a log4j.xml
    file, rather than a log4j.properties file). You might want to check the
    documentation of your appserver to determine if there is an alternate
    mechanism for configuring log4j.
    Let us know if you still need help with this.
    In article <[email protected]>, Petr Bulanek wrote:
    Hi All,
    Thank you for reading this. I could use a good advice here, I have been
    banging my head against wall for a while ...
    We have a J2EE application that uses Kodo 2.4.2 with IBM WAS 5.0. Due to
    'class not found' problems (related to registering the PMfactory with
    JNDI, I reckon), I was forced to use a Websphere extension classloader to
    load Kodo. (deploy Kodo libraries to c:\program
    files\websphere\AddServer\lib\ext )
    That is good and well, however now I want to configure logging (Log4J) for
    Kodo. To do that, I have tried (feels like I have tried it all ;-)) to put
    the log4j.properties to:
    c:\program files\websphere\AddServer\properties\log4j.properties
    c:\program files\websphere\AddServer\lib\ext\log4j.jar!log4j.properties
    c:\program files\websphere\AddServer\lib\ext\log4j.properties
    inside of the Kodo.jar (desperate people do desperate things ;-))
    log4j.properties is also referenced as a part of shared library
    Just for completness, log4j.properties also exists in Java utility jar
    file that is part of EAR file (although that probably would not help the
    Websphere extension classloader-loaded classes)
    I have also tried to define the log4j.configuration in my startServer.bat:
    SET LOG4J=-Dlog4j.configuration=file:/c:/log4j.properties
    echo LOG4J set %LOG4J%
    "%JAVA_HOME%\bin\java" %LOG4J% %WAS_TRACE%
    To initialize Log4J differently. Yes, you guessed right, that damn thing
    still does not work. What am I missing???
    What exactly is happening when Kodo/Log4j configures the logging?
    It may sound like just a nuisance, but it is actually quite important,
    because we are just inch from production and need to get rid of heaps of
    debuging messages (including the annoying SQL Server induced close cursor
    exceptions). It just would not shut up!!! ;-))))
    Any idea how to silence the bloody thing beside turning off the power? ;-)
    Thank you,
    Petr
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Configuration of logging severity

    Hello everyone,
    I am trying to use the weblogic Admin console to modify the logging severity at runtime. I have an application deployed on the AdminServer.
    In the web console, I go to the AdminServer Settings page and navigate to the Logging tab. I click the "Advanced" link to show the "Logger severity properties". In this box I have tried entering many different values. I save. There is no change to the logs. I restart the server, there is still no change to the logs.
    Some values I've attempted to use:
    com.mycompany.level=Trace
    com.mycompany.level=Debug
    com.mycompany=Trace
    com.mycompany=Debug
    .level=Trace
    .level=Debug
    I am using weblogic 10.3.2.0 with jdk logging.
    Does anyone know if these configuration changes are supposed to affect the log files? Am I using this configuration parameter incorrectly?
    Note that I have found a way to configure the logging severity using a logging.properties file, by calling:
    LogManager.getLogManager().readConfiguration(EventDAOEJBImpl.class.getResourceAsStream("/logging.properties"));
    However, this does not allow me to configure the application from the weblogic console. Is there a way to configure the logging severity using the weblogic console?

    You may want to ask in the WebLogic Server - Diagnostics / WLDF / SNMP forum. They own logging.
    I asked them to reply to this message.

  • How to configur log4j logging for weblogic 10.1

    Hi,
    I am tried to set log4j logging for my application running in weblogic 10.1. I set a log4j.properties file and loaded the properties by a servlet. Where its load the properties files and configure it by PropertyConfigurator.
    The same logic has worked out in websphere. But in weblogic, it is not working. I set the server logging and domain logging to Log4j in Admin console. Now it is writing all the log statements.
    If i write a property for a package to Error level and root level is Debug. Its not working, all debug statements are getting written.
    Can you please tell me the steps to configure log4j logging in weblogic 10.1.
    Thanks & Regards,
    Nasrin.N

    Did you manage to get this working?
    If yes ... what did you do?
    I am having the same problem implementing commons-logging with log4j

  • Configuring Kodo default implementation for field of Collection type

    If I am not mistaken default implementation for field of Collection type in
    Kodo is
    LinkedList based proxy. It would be great if it were possible to configure
    Kodo to use a proxy of my choosing
    I did some tests and it seems to me that ArrayList is much more efficient
    than Linked list (see below)
    Is there any specific reason I am not aware of that makes LinkedList better
    than array list
    In my applications all collections a relatively small (or at least most of
    my collections are definitely small)
    and since I use Collection interface there is no inserts into middle of my
    collections - only appends (which ArrayList handles very well)
    So my question is can I make Kodo to use ArrayListProxy for fields of
    Collection type
    (except of course using ArrayList field instead of Collection which I do not
    want to do)
    below is some statistics on collection performance (populating and iterating
    collections)
    the same test against 3 collections implementations (JDK 1.4.1)
    Not only ArrayList by far the fastest and memory friendly it also garbage
    collected much sooner and better -
    I show here max memory consumption and last to would not be garbage
    collected till all memory is in use (old generation GC)
    and ArrayList seems to be collected by young gen GC because it was collected
    very quickly between test cycles why other only when all memory was used
    So please make ArrayList your default collection implementation :-)
    Small collection size (40)
    time(ms) memory(kb)
    ArrayList 5,218 62,154
    LinkedList 14,125 240,066
    HashSet 27,000 311,825
    the same but using using random inserts - append(index, object) rather than
    append(object):
    ArrayList 8937, 53591
    LinkedList 15047, 240066
    Larger collection size (200)
    ArrayList 4860, 47709
    LinkedList 18468, 290704
    HashSet 34391, 422282
    the same but using using random inserts - append(index, object) rather than
    append(object):
    ArrayList 11844, 47709
    LinkedList 25766, 290704

    You should be able to accomplish this fairly easily by extending
    SimpleProxyManager:
    http://solarmetric.com/Software/Documentation/2.4.3/docs/javadoc/com/solarmetric/kodo/util/SimpleProxyManager.html
    and overriding the appropriate methods (getCollectionCopy and
    getCollectionProxy).
    On Mon, 12 May 2003 12:26:21 -0400, Alex Roytman wrote:
    If I am not mistaken default implementation for field of Collection type in
    Kodo is
    LinkedList based proxy. It would be great if it were possible to configure
    Kodo to use a proxy of my choosing
    I did some tests and it seems to me that ArrayList is much more efficient
    than Linked list (see below)
    Is there any specific reason I am not aware of that makes LinkedList better
    than array list
    In my applications all collections a relatively small (or at least most of
    my collections are definitely small)
    and since I use Collection interface there is no inserts into middle of my
    collections - only appends (which ArrayList handles very well)
    So my question is can I make Kodo to use ArrayListProxy for fields of
    Collection type
    (except of course using ArrayList field instead of Collection which I do not
    want to do)
    below is some statistics on collection performance (populating and iterating
    collections)
    the same test against 3 collections implementations (JDK 1.4.1)
    Not only ArrayList by far the fastest and memory friendly it also garbage
    collected much sooner and better -
    I show here max memory consumption and last to would not be garbage
    collected till all memory is in use (old generation GC)
    and ArrayList seems to be collected by young gen GC because it was collected
    very quickly between test cycles why other only when all memory was used
    So please make ArrayList your default collection implementation :-)
    Small collection size (40)
    time(ms) memory(kb)
    ArrayList 5,218 62,154
    LinkedList 14,125 240,066
    HashSet 27,000 311,825
    the same but using using random inserts - append(index, object) rather than
    append(object):
    ArrayList 8937, 53591
    LinkedList 15047, 240066
    Larger collection size (200)
    ArrayList 4860, 47709
    LinkedList 18468, 290704
    HashSet 34391, 422282
    the same but using using random inserts - append(index, object) rather than
    append(object):
    ArrayList 11844, 47709
    LinkedList 25766, 290704

  • How to configure the logging and tracing in J2EE-Server

    Hi,
    when I've been using the SAP Logging and Tracing Framework before from more or less "standalone" Applications I always used a property file which configured the levels of severity  etc.. During application startup I've read this file and configured the logging properly.
    In a J2EE-Environment (SAP WEB AS JAVA) I cannot read a file from a file - system. So I'm wondering where are those handlers and severity levels are configured ?
    Any help is greatly appreciated.
    Thanks in advance,
    Frank

    Hi Frank,
    well, first of all, your application provides log configuration information using an XML file at deployment time. This file is called log-configuration.xml (you can see the DTD description here: http://help.sap.com/saphelp_nw04/helpdata/en/48/ef8748caed894bb4b3ae953a60c592/frameset.htm). There you can set configure log controllers, which could be two types: location and category. So, you can specify your location and severity there. This is described here: http://help.sap.com/saphelp_nw04/helpdata/en/35/671c0136b4714c9e1b16b68211287b/frameset.htm.
    Then, after the application is deployed, the log configurations you provided for it are registered with the Log Configuration tool I mentioned about. Using this tool you can later on modify your configurations at runtime (for example, change the severity level) without having to redeploy the application.
    I hope it's clearer now? I guess it was me not getting your first question correctly that caused your confusion.
    Greetings,
    Ivo

  • Configuration Change log in Production

    Hi all
        Some configuration changes have been directly made in production at our client. How can we find out what changes are made? Going into SCC4 > Change logs, I could find out who made all the changes. But it does not show what configuration changes are made.
    Thanks
    Vamsi

    Dear Vamsi,
    I'm not sure whether in a single report you can fetch all the changes related to configuration for a particular module.
    But I'm sure in most of the nodes the configuration change logs gets recorded.Check these links,
    Re: How to find when a new Material type is created
    Configuration change Log
    Regards
    Mangalraj.S

  • Configure diagnostic logging

    when i select configure diagnostic logging in central admin i get the following error
    error file not found
    in uls logs i see the following
    07/01/2014 13:25:12.93 w3wp.exe (0x1998) 0x0844 SharePoint Foundation Logging Correlation Data xmnv Medium Name=Request (GET:http://vsrsp10qaapp:9999/_admin/metrics.aspx) 6c6d233a-fb35-491e-87c2-ba4ab41afeb1
    07/01/2014 13:25:12.93 w3wp.exe (0x1998) 0x0844 SharePoint Foundation Logging Correlation Data xmnv Medium Site=/ 6c6d233a-fb35-491e-87c2-ba4ab41afeb1
    07/01/2014 13:25:12.95 w3wp.exe (0x1998) 0x0844 SharePoint Foundation Runtime tkau Unexpected System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral,
    PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.    at Microsoft.Opex.Rkm.Common.Logging.DiagnosticsService.ProvideAreas()     at Microsoft.SharePoint.Administration.SPDiagnosticsServiceBase.EnsureAreas()    
    at Microsoft.SharePoint.Administration.SPDiagnosticsServiceBase.get_Areas()     at Microsoft.SharePoint.ApplicationPages.MetricsPage.OnLoad(EventArgs e)     at System.Web.UI.Control.LoadRecursive()    
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 6c6d233a-fb35-491e-87c2-ba4ab41afeb1
    07/01/2014 13:25:12.96 w3wp.exe (0x1998) 0x0844 SharePoint Foundation Monitoring b4ly Medium Leaving Monitored Scope (Request (GET:http://vsrsp10qaapp:9999/_admin/metrics.aspx)). Execution Time=29.7579720327584 6c6d233a-fb35-491e-87c2-ba4ab41afeb1
    07/01/2014 13:25:14.94 w3wp.exe (0x1998) 0x0814 SharePoint Foundation Topology e5mc Medium WcfSendRequest: RemoteAddress: 'http://vsrsp10qaapp:32843/9283a893bbd8454982688fd214f2cf85/MetadataWebService.svc' Channel: 'Microsoft.SharePoint.Taxonomy.IMetadataWebServiceApplication'
    Action: 'http://schemas.microsoft.com/sharepoint/taxonomy/soap/IDataAccessReadOnly/GetChanges' MessageId: 'urn:uuid:6657c8c4-fd07-4545-984a-5d9121ad29f5' 
    07/01/2014 13:25:14.94 w3wp.exe (0x0C18) 0x1450 SharePoint Foundation Topology e5mb Medium WcfReceiveRequest: LocalAddress: 'http://vsrsp10qaapp.southerntrust.local:32843/9283a893bbd8454982688fd214f2cf85/MetadataWebService.svc'
    Channel: 'System.ServiceModel.Channels.ServiceChannel' Action: 'http://schemas.microsoft.com/sharepoint/taxonomy/soap/IDataAccessReadOnly/GetChanges' MessageId: 'urn:uuid:6657c8c4-fd07-4545-984a-5d9121ad29f5' b1d3864d-60a0-4625-bb4c-7644b54846b4
    07/01/2014 13:25:14.94 w3wp.exe (0x0C18) 0x1450 SharePoint Foundation Monitoring nasq Medium Entering monitored scope (ExecuteWcfServerOperation) b1d3864d-60a0-4625-bb4c-7644b54846b4
    i have carried out an iisreset and restart of the server problem still exists.
    health analyser is report an error
    Could not load file or assembly 'Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

    If you still have the WSP for that solution, use 7-Zip to open it. See if it had Microsoft.Practices.ServiceLocation.dll
    in it, or if you have the developers on staff, ask.
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • C:\Program Files\Microsoft Configuration Manager\Logs not updating

    Hi,
    Anybody exprienced the scenario where logfiles in C:\Program Files\Microsoft Configuration Manager\Logs don't update anymore?
    F.e. wsyncmgr.log is of beginning of April, no recent logs there except for 7 items: smsprov.smspxe, smsdpusage  (date from Today).
    Pls advise.
    J.
    Jan Hoedt

    Open ConfigMgr Service Manager and check the logging options (is logging for each component enabled at all? Is it really logging to the directory you examined?) You can also open the logs using notepad. cmtrace.exe sometimes does not display the entire
    content if there are malformated lines.
    Having installed ConfigMgr on the C:\ drive is not the best setup BTW.
    Torsten Meringer | http://www.mssccmfaq.de

  • Configure commons-logging formatting

    I've managed to configure commons-logging to work with WebLogic but now I'd like to configure the log-output format.
    Does anyone know how to change the output format?

    Yes, but the simplest thing to do is to not include
    log4j.jar
    If you don't want to use it, don't inlcude it.It's not possible. Our client wants a callendar. We have purchased dotj library which has a calendar. Unfortunately their library includes log4j.
    But the application I have written uses commons logging and it should use jdk 1.4 logging otherwise logging doesn't work properly with SUN AS.

  • Configuration change Log

    Hi,
      I need to find the configuration change log in development system. Do we have any transaction/report/program from which we can track all the configuration changes for a perticular object.
    Thanks,
    Vijay

    for almost all customizing you can find the change history in menu tools within the cuistomizing.

  • Error while configuring kodo to lookup a datasource

    We had a working application using EEPersistenceManagerFactory
    I changed the kodo.properties to lookup a non XA JDBC datasource.
    After that the application is working fine (it creates
    ,updates,deletes,finds record in the DB)
    but SystemOut.log has the following error for every operation
    We are using Kodo 2.5.0, Websphere 5.0 and Oracle 8
    How can we avoid getting this error ?.
    We tried to find any property on the Websphere datasource which can be
    altered to avoid this error but no luck.
    Thanks
    Paresh
    [10/7/03 15:30:45:467 IST] 3d8b2d1a MCWrapper E J2CA0081E: Method
    destroy failed while trying to execute method destroy on ManagedConnection
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl@437f6d23 from resource
    <null>. Caught exception: com.ibm.ws.exception.WsException: DSRA0080E: An
    exception was received by the Data Store Adapter. See original exception
    message: Cannot call 'cleanup' on a ManagedConnection while it is still in
    a transaction..
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:222)
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:172)
         at
    com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:182)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:1826)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy(WSRdbManagedConnectionImpl.java:1389)
         at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1032)
         at
    com.ibm.ejs.j2c.poolmanager.FreePool.returnToFreePool(FreePool.java:259)
         at com.ibm.ejs.j2c.poolmanager.PoolManager.release(PoolManager.java:777)
         at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:1304)
         at
    com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEventListener.java:195)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionClosedEvent(WSRdbManagedConnectionImpl.java:843)
         at
    com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnection.java:569)
         at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:132)
         at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionManagerImpl.java:814)
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.release(JDBCStoreManager.java(Inlined
    Compiled Code))
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preSerialize(StateManagerImpl.java:784)
         at com.paresh.core.vo.Release.jdoPreSerialize(Release.java)
         at com.paresh.core.vo.Release.writeObject(Release.java)
         at java.lang.reflect.Method.invoke(Native Method)
         at
    com.ibm.rmi.io.IIOPOutputStream.invokeObjectWriter(IIOPOutputStream.java:703)
         at com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:671)
         at
    com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:146)
         at
    com.ibm.rmi.io.ValueHandlerImpl.writeValueInternal(ValueHandlerImpl.java:217)
         at com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:144)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1590)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1107)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie.findCorrectionAction(_EJSRemoteStatelessValidation_da16513c_Tie.java:309)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie._invoke(_EJSRemoteStatelessValidation_da16513c_Tie.java:104)
         at
    com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:582)
         at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:437)
         at com.ibm.rmi.iiop.ORB.process(ORB.java:320)
         at com.ibm.CORBA.iiop.ORB.process(ORB.java:1544)
         at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2063)
         at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
         at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
    kodo.properties
    com.solarmetric.kodo.LicenseKey=
    #com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=TransactionFactory
    TransactionManagerMethod=com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    #com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.InvocationManagedRuntime
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.AutomaticManagedRuntime
    #javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory
    javax.jdo.option.ConnectionFactoryName=ds/kodo/DataSource1
    javax.jdo.option.Optimistic=true
    javax.jdo.option.RetainValues=true
    javax.jdo.option.NontransactionalRead=true
    #com.solarmetric.kodo.DataCacheClass=com.solarmetric.kodo.runtime.datacache.plugins.CacheImpl
    # Changing these to a non-zero value will dramatically increase
    # performance, but will cause in-memory databases such as Hypersonic
    # SQL to never exit when your main() method exits, as the pooled
    # connections in the in-memory database will cause a daemon thread to
    # remain running.
    javax.jdo.option.MinPool=5
    javax.jdo.option.MaxPool=10

    We do have a makeTransientAll() before the object returns from Session
    Bean.
    We also tried the JCA path
    After installing the JCA RAR and doing a lookup for
    PersistenceManagetFactory the same code is not throwing any exception.
    The exception is thrown only if datasource is used.
    Thanks
    Paresh
    Marc Prud'hommeaux wrote:
    Paresh-
    It looks like you are returning a collection of instances from an EJB,
    which will cause them to be serialized. The serialization is happening
    outside the context of a transaction, and Kodo needs to obtain a
    connection. Websphere seems to not like that.
    You have a few options:
    1. Call makeTransientAll() on all the instances before you return them
    from your bean methods
    2. Manually instantiate all the fields yourself before sending them
    back. You could use a bogus ObjectOutputStream to do this.
    3. In 3.0, you can use the new detach() API to detach the instances
    before sending them back to the client.
    In article <[email protected]>, Paresh wrote:
    We had a working application using EEPersistenceManagerFactory
    I changed the kodo.properties to lookup a non XA JDBC datasource.
    After that the application is working fine (it creates
    ,updates,deletes,finds record in the DB)
    but SystemOut.log has the following error for every operation
    We are using Kodo 2.5.0, Websphere 5.0 and Oracle 8
    How can we avoid getting this error ?.
    We tried to find any property on the Websphere datasource which can be
    altered to avoid this error but no luck.
    Thanks
    Paresh
    [10/7/03 15:30:45:467 IST] 3d8b2d1a MCWrapper E J2CA0081E: Method
    destroy failed while trying to execute method destroy on ManagedConnection
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl@437f6d23 from resource
    <null>. Caught exception: com.ibm.ws.exception.WsException: DSRA0080E: An
    exception was received by the Data Store Adapter. See original exception
    message: Cannot call 'cleanup' on a ManagedConnection while it is still in
    a transaction..
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:222)
         at
    com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:172)
         at
    com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:182)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:1826)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.destroy(WSRdbManagedConnectionImpl.java:1389)
         at com.ibm.ejs.j2c.MCWrapper.destroy(MCWrapper.java:1032)
         at
    com.ibm.ejs.j2c.poolmanager.FreePool.returnToFreePool(FreePool.java:259)
         at com.ibm.ejs.j2c.poolmanager.PoolManager.release(PoolManager.java:777)
         at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:1304)
         at
    com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEventListener.java:195)
         at
    com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionClosedEvent(WSRdbManagedConnectionImpl.java:843)
         at
    com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnection.java:569)
         at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:132)
         at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionManagerImpl.java:814)
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.release(JDBCStoreManager.java(Inlined
    Compiled Code))
         at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManager.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java(Compiled
    Code))
         at
    com.solarmetric.kodo.runtime.StateManagerImpl.preSerialize(StateManagerImpl.java:784)
         at com.paresh.core.vo.Release.jdoPreSerialize(Release.java)
         at com.paresh.core.vo.Release.writeObject(Release.java)
         at java.lang.reflect.Method.invoke(Native Method)
         at
    com.ibm.rmi.io.IIOPOutputStream.invokeObjectWriter(IIOPOutputStream.java:703)
         at com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:671)
         at
    com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:146)
         at
    com.ibm.rmi.io.ValueHandlerImpl.writeValueInternal(ValueHandlerImpl.java:217)
         at com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:144)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1590)
         at com.ibm.rmi.iiop.CDROutputStream.write_value(CDROutputStream.java:1107)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie.findCorrectionAction(_EJSRemoteStatelessValidation_da16513c_Tie.java:309)
         at
    com.paresh.core.interfaces._EJSRemoteStatelessValidation_da16513c_Tie._invoke(_EJSRemoteStatelessValidation_da16513c_Tie.java:104)
         at
    com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:582)
         at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:437)
         at com.ibm.rmi.iiop.ORB.process(ORB.java:320)
         at com.ibm.CORBA.iiop.ORB.process(ORB.java:1544)
         at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2063)
         at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
         at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
    kodo.properties
    com.solarmetric.kodo.LicenseKey=
    #com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=java:/TransactionManager
    >>
    >
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=TransactionManagerName=TransactionFactory
    >>
    >
    TransactionManagerMethod=com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager
    >>
    >>
    >
    #com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.InvocationManagedRuntime
    >>
    >
    com.solarmetric.kodo.ee.ManagedRuntimeClass=com.solarmetric.kodo.ee.AutomaticManagedRuntime
    >>
    >>
    >
    #javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    >>
    >
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.ee.EEPersistenceManagerFactory
    >>
    javax.jdo.option.ConnectionFactoryName=ds/kodo/DataSource1
    javax.jdo.option.Optimistic=true
    javax.jdo.option.RetainValues=true
    javax.jdo.option.NontransactionalRead=true
    #com.solarmetric.kodo.DataCacheClass=com.solarmetric.kodo.runtime.datacache.plugins.CacheImpl
    >>
    >>
    # Changing these to a non-zero value will dramatically increase
    # performance, but will cause in-memory databases such as Hypersonic
    # SQL to never exit when your main() method exits, as the pooled
    # connections in the in-memory database will cause a daemon thread to
    # remain running.
    javax.jdo.option.MinPool=5
    javax.jdo.option.MaxPool=10
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Adobe Document Services - http Response 500 - How to configure the logging?

    We are building an application in Web Dynpro Java that fetches data from an R/3 system via an RFC connection and is then supposed to show said data in a pdf within an iview. For that task we want to use the InteractiveForm UIElement. We bind the data to its pdfSource in the iViewu2019s context. Currently the form only consists of a text field bound to one attribute element of the pdfSource context node.
    The ADS webservice is configured according to the manuals found here:
    http://help.sap.com/saphelp_nw70/helpdata/en/fa/0b700d6cfd4e03a8ec2186ba6ff4af/frameset.htm
    and tested successfully under the following link
    http://<portal_host>:<port>/AdobeDocumentServices/Config?style=document
    However, when we execute the application, an error occurs in the webservice generating the pdf, namely Invalid Content-Type:text/html. The error occurs when the iView containing the form is shown for the first time, even before the attributes of the pdfSource context are filled with data (we expect to see an empty form).
    As it seems the webservice is expected to return a MIME type of either application/pdf or text/xml (we donu2019t know for sure since the SAP manuals and forums are inconclusive here), but instead we get text/html. This seems to be due to the fact that the webservice exits with an http response 500 Internal Server Error (we used several network monitoring tools to confirm that such a response is sent). Since such http responses are but html files with an empty body, yet not xml or pdf, the aforementioned error does make sense to us, but we do not know what Internal Error has caused it.
    The only help that SAP seems to provide for an error u201CInvalid Content-Type:text/htmlu201D in context with ADS points to an expiring password or otherwise poor configuration of the ADSUser, which (most certainly) is not our case here since, and as said above, the configuration was and can be tested successfully.
    We then tried to view the logs for this error on the machine where the J2EE engine is running with ADS installed according to this (not very comprehensible) guide:
    http://help.sap.com/saphelp_nw70/helpdata/de/97/ccfc3f0ac2c642e10000000a1550b0/frameset.htm
    We cannot find anything relevant in the server.log of the Visual Administrator except this message (it is generated exactly when our error occurs u2013 the trace severity is set to ALL for all Adobe application elements according to manual):
    Date , Time , Message , Severity , Category , Location , Application , User
    12/08/2010 , 13:50:46:511 , application [webdynpro/dispatcher] Processing HTTP request to servlet [dispatcher] finished with error.
    The error is: com.sap.tc.webdynpro.clientserver.adobe.pdfdocument.base.core.PDFDocumentRuntimeException: Failed to  GENERATEPDF
    Exception id: [0800274DA7ED00850000005B00000900000496E5919E28BA] , Error , /System/Server/WebRequests , com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl , sap.com/tcwddispwda , Guest
    There is no error.pdf to be found on the file system and since neither have we known nor are we told by the error message, whether the underlying cause is is a render error or connection error or configuration error or what not, we donu2019t know whether the error.pdf is supposed to be generated at all.
    Or could there be any other reason why generation didnu2019t take place?
    Furthermore we canu2019t seem to be able to find any logs more verbose or detailed about this issue - at least not within the Visual Administrator or the portalu2019s nwa.
    How is it possible to properly debug the webservice for pdf-generation or at least to retrieve a fully detailed log containing all notifications and exception stack traces etc.?
    I am assuming that we are making some basic mistakes regarding the logging configuration - but what?
    Our goal is to know what causes the 500 Internal Server Error response that causes the Incorrect Content-Type exception.
    We are using a NetWeaver 7.01 portal installation with Adobe Document Services 7.01 installed on a Windows Server 2003 platform.
    Any help is highly appreciated!
    Serg

    Have you tried restarting the Java PDF object in Visual Administrator?  Once you do all of your config, you have to restart the PDF object (sao.com/tcwdpdfobject) for the changes to take place.  I am assuming you've run all of the test programs in SAP (FP_TEST_00, FP_TEST_03, etc.).  Is there any chance that the ADSUSER is locked somehow?

  • How to configure weblogic log file?

    HI
    How do i configure Weblogic server log file to log weblogic related information as well as my application?
    I need to maintain one log file for weblogic and my application.
    Thanks,

    Then glassfish instance is either not configured yet or installed somewhere else. Try looking under your user's home directory like C:\Documents and Settings\<username>\Application Data\glassfish\domains\domain1\logs

Maybe you are looking for

  • IPhone browser chooses a tiny illegible font

    I've been working on a number of web sites, trying to improve their "accessibility", including being readable on various smartphones. One problem that keeps coming up is that the iPhone often picks tiny fonts that nobody can read, and using the "pinc

  • What causes my ipad to be very hot

    what really make my ipad to be hot when using

  • How to use SD_VBAK_ARRAY_READ functional module

    hello can you please tell me how to use SD_VBAK_ARRAY_READ  functional module. that means what i have to pass and what i should get. Please help me

  • Paging mechanism in EJB

    I am trying to improve the performance of a huge report (around 80,000) records. The application uses stateless session bean and it fetches the records in a loop one at a time. I want to change it in such a way it uses oracle stored procedure that fe

  • Controlling Folio Order In Viewer

    Hi All- I have a quick viewer question. Is it possible for me to control the order of folios within the viewer? I am not creating sequential folios, so I would like one folio to remain the first in order within the viewer at all times. Is this possib