Troubleshooting:"J2CA0075W: An active transaction should be present" error (WebSphere 5.1)
Symptom
When running V4.2 under WebSphere version 5.1, the repeated warning messages appear in the SystemOut.log:
[4/11/03 11:53:41:711 PDT] 891a0 ConnectionMan W J2CA0075W: An active
transaction should be present while processing method allocateMCWrapper.
[4/11/03 11:53:41:815 PDT] 891a0 ConnectionMan W J2CA0075W: An active
transaction should be present while processing method initializeForUOW.
Version 4.2 runs using a servlet in a Web environment. In this system, agents create their own threads to do their processing.
The J2EE specification does not allow an application to create its own threads to access a database; however, the specification is not clear on whether a servlet may create its own threads. Since it is not clear, WebSphere Application Server version 5.0 and 5.1 currently allows it (although in future versions, it may be prevented).
However, since the accessing of databases by “naked” threads should not be promoted, WebSphere generates the above warning messages in the log. These messages are meant to let the developers know that they are doing something which is not in-line with the intended usage. The developers should consider changing their application to comply with the J2EE specification.
Solution
Workaround
IBM’s web site states to ignore the messages. See http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//index.jsp? topic=/com.ibm.websphere.exp.doc/info/exp/relnotes/relnotes_exp.html
Ignoring the error messages when running the Web services application using an HTTP or a Java Messaging Service transport
Problem | When running the Web services application using an HTTP or a Java Messaging Service (JMS) transport in WebSphere Application Server, Version 5.1 and later, the following error messages are displayed in the SystemOut.log file: [9/30/03 17:58:20:387 CDT] 140727a PrivMBeanRegi E J2CA0108E : the parent MBean for [9/30/03 17:58:20:387 CDT] 140727a PrivMBeanRegi E J2CA0108E : the parent MBean for <null> could not be found, the identifier used to find the MBean is cells/svtlnx2/nodes/svtlnx2/resources.xml#builtin_jmsprovider. [9/30/03 17:58:35:611 CDT] 17d1b24 ConnectionMan W J2CA0075W : An active transaction should be present while processing method allocateMCWrapper. [9/30/03 17:58:35:625 CDT] 17d1b24 ConnectionMan W J2CA0075W : An active transaction should be present while processing method initializeForUOW. |
---|---|
Recommended response | Ignore the error messages. |
You can turn these messages off by updating the WebSphere j2c.properties file.
NOTE: This file impacts all applications running in WebSphere; use caution when changing it.
The j2c.properties file is found in the following directory:
$WAS_HOME\profiles\applicationname\properties
where $WAS_HOME
is the main WebSphere 5.0 directory, and the applicationname is the name of the PegaRULES application directory.
The customizations section is at the bottom of this file:
<!-- ====================================================================== -->
<j2c-customizations>
<!-- The cm-properties are in a comment block. Uncomment to use -->
<!--
<cm-properties>
<manageCachedHandles>false</manageCachedHandles>
<logMissingTranContext>true</logMissingTranContext>
</cm-properties>
-->
In the cm-properties section of the customizations, find the logMissingTranContext section. Uncomment this section, and set the context to false:
<cm-properties>
<logMissingTranContext>false</logMissingTranContext> </cm-properties>