KeepXAConnTillTxComplete
Not sure if I should post this error here or in the WorkShop forum. Anyway,
I am using WLS 7 sp2 with an Informix DBMS. I need to use Distributed
Transactions so I am re-configuring a few of my DataSources and Connection
Pools to use the Informix XA driver. Some of my Web Service methods use the
DataBase Control while others access EJB's.
When I access a Web Service that uses a DB Control, I get the following
error:
weblogic.jws.control.ControlException: ControlException on control
dbCtrl[Cannot set transaction isolation level for the XA connection if the
XA connection pool does not have "KeepXAConnTillTxComplete" attribute set to
true. Note that, however, setting this attribute means that each XA
connection is associated with the global transaction until it completes and
may limit scalability.]
Can someone please explain this?
TIA,
Tim
Hi Nick,
Sorry my bad I was not clear on that. I did mean to say that.
I will file a request to get these workarounds for different drivers
documented. Thanks for pointing it out.
regards
sree
"Nick Minutello" <[email protected]> wrote
in message news:3cf42456$[email protected]..
>
>
Setting a connection pool property wont fix the problem.
You have to set an XML attribute KeepXAConnTillTxComplete="true" in the<JDBCConnectionPool>
element, as follows:
<JDBCConnectionPool
DriverName="com.jnetdirect.jsql.JSQLXADataSource"
InitialCapacity="10" LoginDelaySeconds="0" MaxCapacity="10"KeepXAConnTillTxComplete="true"
Name="SQLServerConnectionPool"
Password="{3DES}iDx47CCB9/npwl5EiDtgfg=="
Properties="user=sa"
RefreshMinutes="5" Targets="myserver"
TestConnectionsOnReserve="true" TestTableName="fxo_auto_evt_que"URL="jdbc:JSQLConnect://localhost/database=Weblogic"/>
>
And it is not documented.
Regards,
Nick
"Sree Bodapati" <[email protected]> wrote:
You have to set it in the connection pool properties.
hth
sree
"Nick Minutello" <[email protected]>
wrote
in message news:3cf18c5b$[email protected]..
I am trying to execute:
Connection conn = dataSource.getConnection();
CallableStatement statement = conn.prepareCall(sql);
with a TRANSACTION_SERIALIZABLE isolation level, and I receive theattached error
(see error2.txt).
The question is that in the exception error message, it refers to asetting of KeepXAConnTillTxComplete
- however, I cannot find any information as to where this setting isset...
Regards,
Nick
Similar Messages
-
DS sends updates to DB only in commit (can't find modified data in same TX)
Hello experts!
We have a physical data service mapping a simple Oracle database table. When we update one record in the database (invoking submit on the DS), and use a function in that same dataservice to get the refreshed record, the updated column comes with the OLD value. But after the transaction ends (we isolated this is a simple JWS), the database gets updated.
The most strange fact: we also did a test using another Data Service to do the update, now mapping a stored procedure to do the updates (without commits in body). Then the test works fine.
The conclusion I can reach is DSP is holding the instance somewhere after the submit() and is not sending it to the database connection. I understand that the commit is not performed, but if I do a query in the same TX, I should see my changed, shouldn't I?
We use WL 8.1.6 with DSP 2.5.
We´d appreciate very much if yuo guys could help.
Thanks,
Zica.Let me get your scenario straight
client starts a transaction
client calls submit to update a data services
client calls read to re-read the update value (does not see update)
client ends the transaction
If you read now, you will see the update
And you're wondering why the first read doesn't seem the update values?
By default, ALDSP 2.5 reads are through an EJB that has trans-attrib=NotSupported - which means if you do a read within a transaction, that transaction is suspended the call is made without any transaction, then the transaction is resumed. So this is one reason you don't see the read. To do the read via an EJB method with trans-attribute=Required. See TRANSACTION SUPPORT at http://e-docs.bea.com/aldsp/docs25/javadoc/com/bea/dsp/dsmediator/client/DataServiceFactory.html
If you are using the control, the control will need to specify
@jc:LiquidData ReadTransactionAttribute="Required"
That is only part of the solution. You will also need to configure your connection pool with the property KeepXAConnTillTxComplete="true" to ensure that your read is on the same connection as your write.
<JDBCConnectionPool CapacityIncrement="2"
KeepXAConnTillTxComplete="true" />
Then I have to ask - if your client already has the modified DataObject in memory, what's the purpose of re-reading it? If all you need is a clean ChangeSummary so you can do more changes (the ChangeSummary is not cleared when you call submit), you can simply call myDataObject..getDataGraph().getChangeSummary().beginLogging() -
How to migrate the datasource from Bea 8.1 to Bea 10
Hi,
I have to migrate an application from bea 8.1 to 10.
the configuration in 8.1 is as follow : (config.xml)
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver"
InitialCapacity="10" KeepXAConnTillTxComplete="true"
MaxCapacity="150" Name="adiosPool" Password="adios47"
Properties="user=adios47"
RemoveInfectedConnectionsEnabled="false"
ShrinkFrequencySeconds="600" StatementCacheSize="100"
SupportsLocalTransaction="false" Targets="server"
TestConnectionsOnCreate="false" TestConnectionsOnReserve="true"
TestFrequencySeconds="60" TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@AXHE0.application.hvb.de:1521:AXHE0"/>
<JDBCTxDataSource JNDIName="weblogic.jdbc.jts.adiosPool"
Name="adiosPool" PoolName="adiosPool" Targets="server"/>
and that is my new configuration : (config.xml)
<jdbc-system-resource>
<name>adiosPool</name>
<descriptor-file-name>jdbc/adiosPool-0758-jdbc.xml</descriptor-file-name>
</jdbc-system-resource>
jdbc/adiosPool-0758-jdbc.xml :
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd">
<name>adiosPool</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@AXHE0.application.hvb.de:1521:AXHE0</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>adios47</value>
</property>
<property>
<name>portNumber</name>
<value>1521</value>
</property>
<property>
<name>SID</name>
<value>HVAEE0</value>
</property>
<property>
<name>serverName</name>
<value>AXHE0.application.hvb.de</value>
</property>
</properties>
<password-encrypted>{3DES}PMWtUXqoHT8=</password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
</jdbc-connection-pool-params>
<jdbc-data-source-params>
<jndi-name>weblogic.jdbc.jts.adiosPool</jndi-name>
<global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
but when I start the server I get the following exception :
START SERVER
javax.naming.NameNotFoundException: While trying to lookup 'weblogic.jdbc.jts.adiosPool' didn't find subcontext 'jdbc'. Resolved 'weblogic'; remaining name
'jdbc/jts/adiosPool'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:246)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:213)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
what's wrong ?
Thanks for your ideasHi,
This is realated to Upgrading your domain.You can upgrade your domain from bea weblogic8.1SP4 to Bea weblogic 10.You need to use the upgrade tool from bea weblogic platform10.You can start the Upgrade wizard tool from Windows Start->All Programs->BEA Products->Tools->DomianUpgradeWizard.The tool will take you to upgrade the domain automatically.Once you have upgraded the domian everything(database connection pools,users,groups,any other resources) in 8.1 domian will be changed to 10.
Bea Support Complete upgradation of Application as well as application data from 8.1 to 9.2 or 10.0
Thanks
Bishnu
Regards
Bishnu -
SQL operations are not allowed with no global transaction by default for X
Hi All,
I am getting the above mentioned error.
java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, a
lso remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
I am developing a web application. I have jsp, servlets, JDBC classes.
I am using DataSource and Connection pools.
I am on WLS 8.1 sp3 and Oracle 10.1.
Part of My Config file looks as follows:
<JDBCConnectionPool DriverName="weblogic.jdbcx.oracle.OracleDataSource" KeepLogicalConnOpenOnRelease="true" KeepXAConnTillTxComplete="false" Name="AUMDataSource" NeedTxCtxOnClose="false" NewXAConnForCommit="false" Password="{3DES}AKRkWgdzXN8WrXSRtSvJ6g==" Properties="user=pibsrmgr;portNumber=1521;SID=pibsrdod;serverName=pibsrdod.dtu.mlam.ml.com" RollbackLocalTxUponConnClose="true" SupportsLocalTransaction="false" Targets="myserver" TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:bea:oracle://pibsrdod.dtu.mlam.ml.com:1521" XAEndOnlyOnce="false" />
<JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="jdbc/AUMDataSource" Name="AUMDataSource" PoolName="AUMDataSource" Targets="myserver" />
Any help will be appreciated.
Thanks
---RadheHi,
Regarding Transactions , the following link can helpful to you .
Regards,
Prasanna Yalam -
ORA-01002: fetch out of sequence using multiple XA datasources
Hi,
I have a problem accessing multiple XA datasources :
- launch an sql request on datasource 1
- rs.next() on the resultset
- use the data to launch another sql request on datasource 2
After 10 iterations, the next() method throws an SQLException (ORA-01002: fetch out of sequence).
After further investigation, I noticed that :
- the problem doesn't occur if the same datasource is used for the 2 requests
- if I set the fetch size to 15 for the first request, the exception is thrown after 15 iterations (but I can't use this as a workaround because the number is potentially above the million).
Anyone experiencing the same problem ?
Thanks in advance
Nicolas
Here's my configuration :
- Weblogic 8.1 SP4
- JDK sun 1.4.2_04 (we have the same problem with various JDKs including JRockit)
- Oracle 10g
- Oracle thin driver xa 10.1.0.2.0
A JSP I use to reproduce the problem :
<pre><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.ArrayList,
java.sql.Connection,
java.sql.PreparedStatement,
java.sql.ResultSet,
java.sql.SQLException,
javax.naming.InitialContext,
javax.naming.NamingException,
javax.sql.DataSource,
javax.transaction.UserTransaction"%>
<%!
public void launchTest() throws Exception {
Connection cnx =null ;
try {
getUserTransaction().begin();
// SQL access #1
cnx = getConnection("jdbc/xaDatasource1");
PreparedStatement stmt = cnx.prepareStatement("SELECT test_col from test_table");
ResultSet rs = stmt.executeQuery();
// iterate on resulset from SQL 1
int i=1;
while (rs.next()){ // SQL exception after 10 iterations
System.out.println(i + "");
i++;
// SQL access #2
Connection cnx2 = getConnection("jdbc/xaDatasource2");
// problem occurs even if we don't request
cnx2.close();
// end SQL access #2
getUserTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
try {
getUserTransaction().rollback();
} catch (Exception e1) {
e1.printStackTrace();
throw e;
} finally {
try {
if (cnx != null && !cnx.isClosed())
cnx.close();
} catch (Exception e1) {
e1.printStackTrace();
private UserTransaction getUserTransaction() throws NamingException {
return (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
private Connection getConnection(String jndiName) throws NamingException, SQLException {
DataSource ds = (DataSource) new InitialContext().lookup(jndiName);
return ds.getConnection();
%>
<%
launchTest();
SQL CODE :
CREATE TABLE TEST_TABLE ( TEST_COL NUMBER(2));
insert into test_table values(1);
insert into test_table values(2);
insert into test_table values(3);
insert into test_table values(4);
insert into test_table values(5);
insert into test_table values(6);
insert into test_table values(7);
insert into test_table values(8);
insert into test_table values(9);
insert into test_table values(10);
insert into test_table values(11);
%>
</pre>Nicolas Mervaillie wrote:
Hi,
I have a problem accessing multiple XA datasources :
- launch an sql request on datasource 1
- rs.next() on the resultset
- use the data to launch another sql request on datasource 2
After 10 iterations, the next() method throws an SQLException (ORA-01002: fetch out of sequence).
After further investigation, I noticed that :
- the problem doesn't occur if the same datasource is used for the 2 requests
- if I set the fetch size to 15 for the first request, the exception is thrown after 15 iterations (but I can't use this as a workaround because the number is potentially above the million).
Anyone experiencing the same problem ?Hi. This is a known weakness of Oracle. If the XA transactional context of a connection
changes during a result set processing, even if it is switched back correctly, the result
set is aborted. If the oracle driver has fetched 10 rows, that's all you get. The next
call to next() that needs real DBMS communication will fail.
By spec, an XA connection should be able to be swapped out and enlisted in different
transactions at a per-call granularity, so our pools allow that by default. Try setting
the KeepXAConnTillTxCOmplete setting in your pool.
When a connection is put back in the pool, if it is an XA connection we will suspend
any user tx, and test it with our own test tx, then re-enlist and re-start the user
tx in flight. This may be the context switch that kills the oracle result set.
Joe
>
Thanks in advance
Nicolas
Here's my configuration :
- Weblogic 8.1 SP4
- JDK sun 1.4.2_04 (we have the same problem with various JDKs including JRockit)
- Oracle 10g
- Oracle thin driver xa 10.1.0.2.0
A JSP I use to reproduce the problem :
<pre><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.ArrayList,
java.sql.Connection,
java.sql.PreparedStatement,
java.sql.ResultSet,
java.sql.SQLException,
javax.naming.InitialContext,
javax.naming.NamingException,
javax.sql.DataSource,
javax.transaction.UserTransaction"%>
<%!
public void launchTest() throws Exception {
Connection cnx =null ;
try {
getUserTransaction().begin();
// SQL access #1
cnx = getConnection("jdbc/xaDatasource1");
PreparedStatement stmt = cnx.prepareStatement("SELECT test_col from test_table");
ResultSet rs = stmt.executeQuery();
// iterate on resulset from SQL 1
int i=1;
while (rs.next()){ // SQL exception after 10 iterations
System.out.println(i + "");
i++;
// SQL access #2
Connection cnx2 = getConnection("jdbc/xaDatasource2");
// problem occurs even if we don't request
cnx2.close();
// end SQL access #2
getUserTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
try {
getUserTransaction().rollback();
} catch (Exception e1) {
e1.printStackTrace();
throw e;
} finally {
try {
if (cnx != null && !cnx.isClosed())
cnx.close();
} catch (Exception e1) {
e1.printStackTrace();
private UserTransaction getUserTransaction() throws NamingException {
return (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
private Connection getConnection(String jndiName) throws NamingException, SQLException {
DataSource ds = (DataSource) new InitialContext().lookup(jndiName);
return ds.getConnection();
%>
<%
launchTest();
SQL CODE :
CREATE TABLE TEST_TABLE ( TEST_COL NUMBER(2));
insert into test_table values(1);
insert into test_table values(2);
insert into test_table values(3);
insert into test_table values(4);
insert into test_table values(5);
insert into test_table values(6);
insert into test_table values(7);
insert into test_table values(8);
insert into test_table values(9);
insert into test_table values(10);
insert into test_table values(11);
%>
</pre> -
Use of Remote JDBC SQL Database External Resource
Does anybody here uses a Remote JDBC External Resource to connect to a database? If so, can you tell me if had any impediment with this approach?
I'm asking this because our company has a lot of tools to monitor a lot of weblogic assets (such as jdbc connection pools and datasources) and We'd like to monitor all BPM-to-database connections usage and pool health. Other feature that we'd like to give to BPM application is the weblogic's capability to use an Multi-DataSource (one logical DS that represents more than one phisical DS).
Thanks and Best Regards,
Luiz RochaHi,
We are facing connection leak in our application .We have defined External resouce as Remote JDBC which is defined in weblogic config.Xml. If any body could explain is there is anyway to handle closing connections manually as we do in J2ee conn.close() in ALBPM ??? . I found runtime configuration in oracle implementation type when defining external resource (i.e supported type:oracle database) an attribute
"*Connection idle time* (mins): The connection is closed after the defined time"
But i dont find any equivalent entry in my config.xml as we do our implementation of type Remote JDBC.....
Any advice on this and how connection closing happens in Normal scenarios within ALBPM will be very useful.
Our connection pool attributes reads like.....(Note *the values of few attributes deleted)
<JDBCConnectionPool AddOracleFlagToXAResource="true"
CountOfTestFailuresTillFlush="1"
DriverName=""
InitialCapacity="150" KeepXAConnTillTxComplete="true"
MaxCapacity="200" Name=""
PasswordEncrypted=""
Properties="user=" ShrinkingEnabled="false"
SupportsLocalTransaction="true" Targets=""
TestConnectionsOnCreate="false" TestConnectionsOnRelease="false"
TestConnectionsOnReserve="true"
TestTableName="SQL SELECT 1 FROM DUAL"
URL=""
XARetryDurationSeconds="300" XASetTransactionTimeout="true" XATransactionTimeout="420"/>
.Advice us can the below attribute can be added in Connection pool properties or anything else......
**{[(*Inactive Connection Timeout The number of inactive seconds on a reserved connection before WebLogic Server reclaims the connection and releases it back into the connection pool.***
***You can use the Inactive Connection Timeout feature to reclaim leaked connections - connections that were not explicitly closed by the application. Note that this feature is not intended to be used in place of properly closing connections.***
***When set to 0, the feature is disabled*.)}]** -
XAER_RMFAIL : Resource manager is unavailable
Weblogic 8.1, I don't recall which service pack, sp10? Maybe?
Anyway, here's the relevant stack trace. We had a strange WLS implosion last
night that we're tracking down. We saw these when our code was trying to get
a connection out of the datapool.
<Mar 1, 2006 10:09:12 PM PST> <Warning> <JTA> <BEA-110030> <XA resource
[weblogic.jdbc.wrapper.JTSXAResourceImpl] has not responded in the last 120
second(s).>
01 Mar 2006 22:09:21,652 WARN com.pfizer.ecms.as.MetricsSession - logEvent:
exception: start() failed on resource
'weblogic.jdbc.wrapper.JTSXAResourceImpl': XAER_RMFAIL : Resource manager is
unavailable
javax.transaction.xa.XAException: Internal error: XAResource
'weblogic.jdbc.wrapper.JTSXAResourceImpl' is unavailable
at
weblogic.transaction.internal.XAResourceDescriptor.checkResource(XAResourceD
escriptor.java:1019)
at
weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResour
ceDescriptor.java:572)
at
weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInf
o.java:1068)
at
weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceI
nfo.java:1001)
at
weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceIn
fo.java:203)
at
weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTra
nsactionImpl.java:419)
at weblogic.jdbc.jts.Driver.createLocalConnection(Driver.java:207)
at weblogic.jdbc.jts.Driver.connect(Driver.java:154)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java
:298)
at
com.pfizer.ecms.asutil.DataAccessManager.getConnection(DataAccessManager.jav
a:117)
Here's our configuration:
<JDBCConnectionPool CapacityIncrement="1"
DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1"
MaxCapacity="150" Name="OraclePool"
Password="*****"
Properties="user=******" ShrinkPeriodMinutes="5"
Targets="myserver" TestConnectionsOnCreate="true"
TestConnectionsOnRelease="true" TestConnectionsOnReserve="true"
TestTableName="dual" URL="jdbc:oracle:thin:@garrison.back:1521:IC"/>
<JDBCTxDataSource EnableTwoPhaseCommit="true"
JNDIName="dbpool" Name="OracleSource"
PoolName="OraclePool" Targets="myserver"/>
Looking this up, I was pointed to a JTA FAQ page on edocs, and it basically
said we should be Refreshing the connection pool, but the RefreshMinutes
parameter is deprecated, and as you can see we're testing connections as is.
We're puzzled by a couple of things, almost certainly application related,
but still relevant. We have 150 connections allocated to the pool, but even
at peak load during the day we bounce around the 40 mark. When we got the
above exception, we were hitting the 150 ceiling. We don't quite know why
yet.
During this time, our DB server was pretty heaviliy loaded. There were some
horrendous queries running, some data imports, etc. Bascially a bunch of
stuff that happens at the beginning of the month. However, there weren't
necessarily a lot of actual users on the system, just a select few.
One of the things that was happening was a user was using the web interface,
and sent off a huge horrible query. When it didn't come back in a reasonable
amount of time, he simply hit "Refresh" on the page, thereby submitting the
query again (thank you Sir, may I have another!). This was partly why the
database was so heavily loaded.
Now, we're puzzled by a couple of things. One, is the spike of actual
connections in the DB Pool up to 150. This makes no sense.
Second, is this error detailed above. I've tried some contrived
experiements, and I can not raise this specific exception myself. My
experiment was to issue a "update table set column = 1 where id = 1" in a
generic SQL browser, thus locking the row, and then issue the identical
command through a Session Bean call. It has happily sat there for up to 10
minutes (600 seconds, which is our default <JTA Name="inf4.2"
TimeoutSeconds="600"/> setting), and it eventually times out, but not with
the same exception. Rather I get "java.sql.SQLException: ORA-01013: user
requested cancel of current operation" from Weblogic, and
"weblogic.transaction.internal.TimedOutException:" from my client.
Apparently, according to the original exception, an XA Resource has not
responded within 120 seconds, but through my testing, that XA resource isn't
necessarily a SQL connection waiting on a query.
Could someone provide insight as to what resource the system may be waiting
on? For in theory, to me, that's what is consuming our DB Pool. I'm assuming
that whatever they're waiting on (the DB apparently), they're ALL waiting on
it, and the reason that the pool spikes is because the system can never find
a "valid" connection, thus trying again with a new one. Is that what it
happening?
Clearly we basically have a tuning issue, but in fact, I'm looking for a
stability solution. When this occurred, our system run 3 load balanced
"legs". The middle leg was having the problem. When we dropped it, leg 3
picked up and then IT had the problem. However, once we killed all 3 of them
and restarted, they recovered.
So I'm looking for some idea to keep Weblogic alive, even at the expense of
booting off these offending transactions, and not having to restart the
servers.
Perhaps over time the system would have recovered on its own (most probably
in fact), but if we can get things cut off early (as well as beating users
that hit Refresh constantly when things "stick"), we can prevent these from
escalating the effectively downing the whole site.
Any thoughts would be appreciated.
Regards,
Will Hartung
([email protected])Will Hartung wrote:
Weblogic 8.1, I don't recall which service pack, sp10? Maybe?Well, we're only up to sp5 here, so we'll have to catch up ;)
Please try this:
<JDBCConnectionPool CapacityIncrement="1"
DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="45"
MaxCapacity="45" Name="OraclePool"
Password="*****"
Properties="user=******"
Targets="myserver" TestConnectionsOnCreate="true"
TestConnectionsOnRelease="false" TestConnectionsOnReserve="true"
KeepXAConnTillTxComplete="true"
TestTableName="dual" URL="jdbc:oracle:thin:@garrison.back:1521:IC"/>
<JDBCTxDataSource EnableTwoPhaseCommit="true"
JNDIName="dbpool" Name="OracleSource"
PoolName="OraclePool" Targets="myserver"/>
You don't want the pool in flux at runtime, either shrinking or
growing. Just have it make what you need at startup and keep it.
Test-on-release is a waste of cycles. Also, I set keep-xa-con
till tx complete, to ensure that only one connection is ever
used for a given tx. XA allows connections to be changed at the
granularity of a single JDBC call, but that provides no real
benefit, and some overhead.
Let me know if this helps, and do let me know what real
service pack you're running.
thanks
Joe
Anyway, here's the relevant stack trace. We had a strange WLS implosion last
night that we're tracking down. We saw these when our code was trying to get
a connection out of the datapool.
<Mar 1, 2006 10:09:12 PM PST> <Warning> <JTA> <BEA-110030> <XA resource
[weblogic.jdbc.wrapper.JTSXAResourceImpl] has not responded in the last 120
second(s).>
01 Mar 2006 22:09:21,652 WARN com.pfizer.ecms.as.MetricsSession - logEvent:
exception: start() failed on resource
'weblogic.jdbc.wrapper.JTSXAResourceImpl': XAER_RMFAIL : Resource manager is
unavailable
javax.transaction.xa.XAException: Internal error: XAResource
'weblogic.jdbc.wrapper.JTSXAResourceImpl' is unavailable
at
weblogic.transaction.internal.XAResourceDescriptor.checkResource(XAResourceD
escriptor.java:1019)
at
weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResour
ceDescriptor.java:572)
at
weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInf
o.java:1068)
at
weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceI
nfo.java:1001)
at
weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceIn
fo.java:203)
at
weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTra
nsactionImpl.java:419)
at weblogic.jdbc.jts.Driver.createLocalConnection(Driver.java:207)
at weblogic.jdbc.jts.Driver.connect(Driver.java:154)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java
:298)
at
com.pfizer.ecms.asutil.DataAccessManager.getConnection(DataAccessManager.jav
a:117)
Here's our configuration:
<JDBCConnectionPool CapacityIncrement="1"
DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1"
MaxCapacity="150" Name="OraclePool"
Password="*****"
Properties="user=******" ShrinkPeriodMinutes="5"
Targets="myserver" TestConnectionsOnCreate="true"
TestConnectionsOnRelease="true" TestConnectionsOnReserve="true"
TestTableName="dual" URL="jdbc:oracle:thin:@garrison.back:1521:IC"/>
<JDBCTxDataSource EnableTwoPhaseCommit="true"
JNDIName="dbpool" Name="OracleSource"
PoolName="OraclePool" Targets="myserver"/>
Looking this up, I was pointed to a JTA FAQ page on edocs, and it basically
said we should be Refreshing the connection pool, but the RefreshMinutes
parameter is deprecated, and as you can see we're testing connections as is.
We're puzzled by a couple of things, almost certainly application related,
but still relevant. We have 150 connections allocated to the pool, but even
at peak load during the day we bounce around the 40 mark. When we got the
above exception, we were hitting the 150 ceiling. We don't quite know why
yet.
During this time, our DB server was pretty heaviliy loaded. There were some
horrendous queries running, some data imports, etc. Bascially a bunch of
stuff that happens at the beginning of the month. However, there weren't
necessarily a lot of actual users on the system, just a select few.
One of the things that was happening was a user was using the web interface,
and sent off a huge horrible query. When it didn't come back in a reasonable
amount of time, he simply hit "Refresh" on the page, thereby submitting the
query again (thank you Sir, may I have another!). This was partly why the
database was so heavily loaded.
Now, we're puzzled by a couple of things. One, is the spike of actual
connections in the DB Pool up to 150. This makes no sense.
Second, is this error detailed above. I've tried some contrived
experiements, and I can not raise this specific exception myself. My
experiment was to issue a "update table set column = 1 where id = 1" in a
generic SQL browser, thus locking the row, and then issue the identical
command through a Session Bean call. It has happily sat there for up to 10
minutes (600 seconds, which is our default <JTA Name="inf4.2"
TimeoutSeconds="600"/> setting), and it eventually times out, but not with
the same exception. Rather I get "java.sql.SQLException: ORA-01013: user
requested cancel of current operation" from Weblogic, and
"weblogic.transaction.internal.TimedOutException:" from my client.
Apparently, according to the original exception, an XA Resource has not
responded within 120 seconds, but through my testing, that XA resource isn't
necessarily a SQL connection waiting on a query.
Could someone provide insight as to what resource the system may be waiting
on? For in theory, to me, that's what is consuming our DB Pool. I'm assuming
that whatever they're waiting on (the DB apparently), they're ALL waiting on
it, and the reason that the pool spikes is because the system can never find
a "valid" connection, thus trying again with a new one. Is that what it
happening?
Clearly we basically have a tuning issue, but in fact, I'm looking for a
stability solution. When this occurred, our system run 3 load balanced
"legs". The middle leg was having the problem. When we dropped it, leg 3
picked up and then IT had the problem. However, once we killed all 3 of them
and restarted, they recovered.
So I'm looking for some idea to keep Weblogic alive, even at the expense of
booting off these offending transactions, and not having to restart the
servers.
Perhaps over time the system would have recovered on its own (most probably
in fact), but if we can get things cut off early (as well as beating users
that hit Refresh constantly when things "stick"), we can prevent these from
escalating the effectively downing the whole site.
Any thoughts would be appreciated.
Regards,
Will Hartung
([email protected]) -
Multipool with weblogic 8.1 sp3 and Oracle RAC
Hi,
I have an Oracle RAC define with 2 node.
For each node I defined a simple ConnectionPool using the Oracle thin driver 10 g.
Then I set a multipool that contains those conections pool.
This is a good solution: It works... :-)
Now I would like to use a XA Driver. The documentation say that it is not supported...
I would like to figure out why?
Does it mean that an EJB that connect to this multipool cannot participate in a XA transaction?
Will it work if I use the param KeepXAConnTillTXComplete="true" on the connectionpool? which means that I will use the same conection throughout the transaction.
Thank you
Yann.Yann Albou wrote:
Hi,
I have an Oracle RAC define with 2 node.
For each node I defined a simple ConnectionPool using the Oracle thin driver 10 g.
Then I set a multipool that contains those conections pool.
This is a good solution: It works... :-)
Now I would like to use a XA Driver. The documentation say that it is not supported...
I would like to figure out why?
Does it mean that an EJB that connect to this multipool cannot participate in a XA transaction?
Will it work if I use the param KeepXAConnTillTXComplete="true" on the connectionpool? which means that I will use the same conection throughout the transaction.
Thank you
Yann.Hi. The trouble with XA and multipools is that sometimes XA must recover after failures,
and if a multipool is involved, the transaction coordinator cannot know whether the
connection it gets from the multipool for recovery is talking to the same DBMS that was
involved in the transaction that has to be recovered.
Do check the 81sp3 documents on this issue.
Joe -
WLS 6.1 sp3 and XA and DB2
Our configuration is:
WLS 6.1 with sp3 on Solaris and DB2 7.2.7 on AIX running on remote server. Local
DB2 client is installed on Solaris (LD_LIBRARY_PATH and other DB2 related variables
are set accordingly).
In some parts of our system we decided to use message-driven beans to process
some work off side. In some of them we interact with database and send JMS messages
to trigger some other MDBs. And we need all these operation to be one unit of
work. Since we have operation on JMS and DB stores, we were forced to use XA and
DB2 XA JDBC driver type 2.
Most of the time things work fine ( always in our dev environment where WLS, DB2
runs on the same Win2000 box), but rundomly we get JVM to crash on Solaris - like
once a day or two. We are about to roll out to production but with these crashes
we are confident about stablity of our app. We found that in most cases (but not
all) those were related to the situation when DB2 connection were dropped or become
invalid.
On BEA website I found the information that WLS does not work in XA mode with
DB2 7.1, because "APP driver falls back to NET driver". Does this still apply
to DB2 7.2.7? If yes then I do not understand why Java->JNI call would fall back
to Java->JNI->Java? Besides on IBM site there is nothing which says that type
2 driver (so called APP one) requires JDBC client running on the same machine
as database. If BEA claims that this indeed is the case, then it poses severe
limitation to XA JDBC driver of IBM. Well, it means it is pretty much useless
(who runs DB and app server on the same box ?)
Today we just found new information about additional setting for XA connection
pools that apply to DB2 and Sybase. For DB2 you need to set KeepXAConnTillTxComplete
to true in your config.xml. We do not know yet if it is going to make things better
(any input from BEA?)
Can we get firm statement answer from BEA whether our configuration is supported
or if not how we can achieve data/JMS integrity without using DB2 XA driver. Would
using regular DB2 driver in pseudo-XA mode be a best work around, provided that
the regular one is stable.
How precisely WLS behave when it needs to orchestrate distributed transaction
using pseudo-XA JDBC driver and fully-XA JMS server? In second phase does it first
as DB to commit and if it succeeds it commits JMS, otherwise it rollbacks everything?
We are very anxious to get our questions answered please.
Thanks,
Waldek
Look for sometime around November. No exact date.
Eric
"Dominic Tulley" <[email protected]> wrote in message
news:[email protected]..
Thanks Eric,
you know what I'm going to ask next right?
Any ideas when SP4 comes out?
Cheers,
-Dominic
"Eric Gross" <[email protected]> wrote in message
news:[email protected]..
The next version of Apache that we will support will be 2.0.42/2.0.43
and
the module for that will be included in the next Service Pack for6.1(SP4)
and 7.0(SP2).
The problem with Apache 2 is that when a new release comes out a newmodule
needs to be compiled. Most of the time. For 2.0.42/2.0.43 this is notthe
case.
Regards,
Eric
"Dominic Tulley" <[email protected]> wrote in
message
news:3da3f246$[email protected]..
I'm trying to set this up (initially just apache in front of a single
WLS
server but ultimately I want to put it in front of a cluster).
I've installed Apache 2.0.40.
I've copied the mod_wl_20.so file into the apache modules folder.
I've edited the httpd.conf file and added the line:
LoadModule weblogic_module modules/mod_wl_20.so
When I run apache -t to check the configuration I get the following:
C:\Program Files\Apache Group\Apache2\bin>apache -t
Syntax error on line 173 of C:/Program Files/Apache
Group/Apache2/conf/httpd.conf:
Cannot load C:/Program Files/Apache Group/Apache2/modules/mod_wl_20.sointo
server: The specified procedure could not be found.
So what's going on here?
Looking at previous postings it sounds like there's an issue with
versions
of apache after 2.0.39 but I can't find a download for that version.Also,
it sounded like the issues were for WLS 7, not 6.1. Can this work
with
2.0.40 or am I wasting my time?
If I get the mod_wl_20.so from dev2dev I get the "incompatible plugin"
message that has been mentioned in this group already.
Any suggestions appreciated,
-Dominic -
Exception when executing rules using portal
Sorry for the unformatted post, but this is all I can do with the HTML client.....
It looks like the p13nConsoleApp is not deployed properly.
We are receiving the following exception when we execute a 'rule' in portal.
ava.rmi.RemoteException: Error in ejbCreate:; nested exception is: javax.ejb.CreateException:
javax.management.InstanceNotFoundException: Unable to find EventServiceConfig=null
with parent twistDomain:ApplicationConfig=soe,Location=twist,Name=soe,Type=ApplicationConfigurationConfig.
javax.ejb.CreateException: javax.management.InstanceNotFoundException: Unable
to find EventServiceConfig=null with parent twistDomain:ApplicationConfig=soe,Location=twist,Name=soe,Type=ApplicationConfigurationConfig.
at com.bea.p13n.events.internal.EventServiceBean.ejbCreate(EventServiceBean.java:154)
at com.bea.p13n.events.internal.EventServiceBean_kh7q5h_Impl.ejbCreate(EventServiceBean_kh7q5h_Impl.java:117)
at java.lang.reflect.Method.invoke(Native Method) at weblogic.ejb20.pool.StatelessSessionPool.createBean(StatelessSessionPool.java:151)
at weblogic.ejb20.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:101)
at weblogic.ejb20.manager.StatelessManager.preInvoke(StatelessManager.java:148)
at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:127) at
weblogic.ejb20.internal.StatelessEJBObject.preInvoke(StatelessEJBObject.java:61)
at com.bea.p13n.events.internal.EventServiceBean_kh7q5h_EOImpl.dispatchEvent(EventServiceBean_kh7q5h_EOImpl.java:29)
at com.bea.p13n.tracking.TrackingEventHelper.dispatchEvent(TrackingEventHelper.java:132)
at com.bea.p13n.rules.advislets.RulesAdvisletImpl.sendRuleEvent(RulesAdvisletImpl.java:386)
at com.bea.p13n.rules.advislets.RulesAdvisletImpl.getAdvice(RulesAdvisletImpl.java:211)
at com.bea.p13n.advisor.internal.AdvisorImpl.getAdvice(AdvisorImpl.java:89) at
com.bea.p13n.advisor.internal.CompoundAdvisletImpl.getAdvice(CompoundAdvisletImpl.java:102)
at com.bea.p13n.advisor.internal.AdvisorImpl.getAdvice(AdvisorImpl.java:89) at
com.bea.p13n.advisor.internal.EjbAdvisorImpl.getAdvice(EjbAdvisorImpl.java:77)
at com.bea.p13n.advisor.internal.EjbAdvisorImpl_8wtzgj_EOImpl.getAdvice(EjbAdvisorImpl_8wtzgj_EOImpl.java:102)
at com.bea.p13n.servlets.jsp.taglib.DivTag.includeBody(DivTag.java:115) at com.bea.p13n.servlets.jsp.taglib.DivTag.doStartTag(DivTag.java:181)
at jsp_servlet.__billinginformation_mainsummary._jspService(__billinginformation_mainsummary.java:822)
On the console it appears that the p13nConsoleApp is not deployed.
Here is our config.xml file
<?xml version="1.0" encoding="UTF-8"?> <!--Last updated on: Tue Mar 11 12:56:06
GMT-07:00 2003, If your domain is active, please do not edit the config.xml file.
Any changes made to that file while the domain is active will not have any effect
on the domain's configuration and are likely to be lost. If your domain is inactive,
you may edit this file with an XML editor. If you do so, please refer to the BEA
Weblogic Server Configuration Reference documentation available from http://edocs.bea.com/wls/docs70/config_xml.
In general, we recommend that changes to your configuration file be made through
the Administration Console.--> <Domain ConfigurationVersion="7.0.0.0" Name="twistDomain">
app tag removed <!--- Application Deployed="true" Name="p13nConsoleApp" Path="/opt/bea7sp1/weblogic700/portal/lib"
TwoPhase="true"> <WebAppComponent Name="p13nConsole" Targets="twist" URI="p13nConsole.war"/>
</Application> <Application Deployed="true" Name="soe" Path="./applications/soeApp.ear"
StagedTargets="" TwoPhase="true"> <ApplicationConfiguration Name="soe" Targets="twist"
URI="META-INF/application-config.xml"/> <EJBComponent Name="SOE_usermgmt" Targets="twist"
URI="SOE_usermgmt.jar"/> <EJBComponent Name="accountMgmt" Targets="twist" URI="accountMgmt.jar"/>
<EJBComponent Name="c2kmaintenance" Targets="twist" URI="c2kmaintenance.jar"/>
<EJBComponent Name="ejbadvisor" Targets="twist" URI="ejbadvisor.jar"/> <EJBComponent
Name="events" Targets="twist" URI="events.jar"/> <EJBComponent Name="failOver"
Targets="twist" URI="failOver.jar"/> <EJBComponent Name="orderMgmt" Targets="twist"
URI="orderMgmt.jar"/> <EJBComponent Name="pipeline" Targets="twist" URI="pipeline.jar"/>
<EJBComponent Name="property" Targets="twist" URI="property.jar"/> <EJBComponent
Name="referenceData" Targets="twist" URI="referenceData.jar"/> <EJBComponent Name="rules"
Targets="twist" URI="rules.jar"/> <EJBComponent Name="services" Targets="twist"
URI="services.jar"/> <EJBComponent Name="tuxedoServices" Targets="twist" URI="tuxedoServices.jar"/>
<WebAppComponent Name="masterDataSync.war" URI="masterDataSync.war"/> <WebAppComponent
Name="orderService" Targets="twist" URI="orderService.war"/> <WebAppComponent
Name="orderServiceDataSync" Targets="twist" URI="dataSync.war"/> </Application>
<ApplicationManager Name="twistDomain"/> <CachingRealm BasicRealm="C2kCustomRealm"
CacheCaseSensitive="true" Name="SoeCachingRealm"/> <CustomRealm ConfigurationData="IgnorePrincipals=system,Administrators,everyone,guest,SoeUsers,admin;GroupName=SoeUsers"
Name="C2kCustomRealm" RealmClassName="com.qwest.wireless.soe.security.C2kSecurityRealm"/>
<EmbeddedLDAP Credential="{3DES}fEhMlTXHx3AEUUOg/nNBOWobvlCzwMdsztHoPLEE5Kc="
Name="twistDomain"/> <FileRealm Name="wl_default_file_realm"/> <JDBCConnectionPool
DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1" MaxCapacity="5"
Name="dataSyncPool" Properties="user=portal7;password=portal7;dll=ocijdbc8;protocol=thin"
Targets="twist,twist" TestConnectionsOnReserve="true" TestTableName="dual" URL="jdbc:oracle:thin:@pcsdev05:1521:soews104"/>
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1"
MaxCapacity="5" Name="jmsPool" Properties="user=jmstore;password=jmstore;dll=ocijdbc8;protocol=thin"
Targets="twist" TestConnectionsOnReserve="true" TestTableName="dual" URL="jdbc:oracle:thin:@pcsdev05:1521:soews104"/>
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1"
MaxCapacity="10" Name="oracleCommercePool" Properties="user=portal7;password=portal7;dll=ocijdbc8;protocol=thin"
Targets="twist" TestConnectionsOnReserve="true" TestTableName="dual" URL="jdbc:oracle:thin:@pcsdev05:1521:soews104"/>
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1"
MaxCapacity="20" Name="oraclePool" Properties="user=supdt;password=supdt;dll=ocijdbc8;protocol=thin"
Targets="twist" TestConnectionsOnReserve="true" TestTableName="dual" URL="jdbc:oracle:thin:@pcsdev05:1521:soews104"/>
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver" InitialCapacity="1"
MaxCapacity="5" Name="pdb" Properties="user=supdt;password=supdt;dll=ocijdbc8;protocol=thin"
RefreshMinutes="2" Targets="twist" TestConnectionsOnReserve="true" TestTableName="dual"
URL="jdbc:oracle:thin:@pcsdev05:1521:soews104"/> <JDBCConnectionPool ConnLeakProfilingEnabled="false"
DriverName="oracle.jdbc.driver.OracleDriver" EnableResourceHealthMonitoring="true"
InitialCapacity="1" JDBCXADebugLevel="0" KeepLogicalConnOpenOnRelease="false"
KeepXAConnTillTxComplete="false" MaxCapacity="5" Name="rtma" NeedTxCtxOnClose="false"
NewXAConnForCommit="false" PrepStmtCacheProfilingEnabled="false" PrepStmtCacheProfilingThreshold="10"
PreparedStatementCacheSize="10" Properties="user=rtma;password=rtma;dll=ocijdbc8;protocol=thin"
RecoverOnlyOnce="false" RefreshMinutes="2" SqlStmtMaxParamLength="10" SqlStmtParamLoggingEnabled="false"
SqlStmtProfilingEnabled="false" Targets="twist" TestConnectionsOnReserve="true"
TestTableName="dual" URL="jdbc:oracle:thin:@pcsc2k:1521:rtmatst" XAEndOnlyOnce="false"/>
<JDBCDataSource JNDIName="jmsPool" Name="jmsPool" PoolName="jmsPool" Targets="twist"/>
<JDBCDataSource JNDIName="oraclePool" Name="oraclePool" PoolName="oraclePool"
Targets="twist"/> <JDBCDataSource JNDIName="oracleProductCatalogPool" Name="pdbsource"
PoolName="pdb" Targets="twist"/> <JDBCDataSource JNDIName="oracleRtmaPool" Name="rtmasource"
PoolName="rtma" RowPrefetchEnabled="false" RowPrefetchSize="48" StreamChunkSize="256"
Targets="twist"/> <JDBCTxDataSource JNDIName="weblogic.jdbc.jts.commercePool"
Name="commercePool" PoolName="oracleCommercePool" Targets="twist"/> <JDBCTxDataSource
JNDIName="weblogic.jdbc.jts.dataSyncPool" Name="dataSyncPool" PoolName="dataSyncPool"
Targets="twist,twist"/> <JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="txOraclePool"
Name="txOraclePool" PoolName="oraclePool" Targets="twist"/> <JMSJDBCStore ConnectionPool="jmsPool"
Name="RebateMsgStore" PrefixName="rebate"/> <JMSServer Name="SoeJMSServer" Store="RebateMsgStore"
Targets="twist"> <JMSQueue JNDIName="SoeOrderResubmit" Name="OrderResubmitJMSQueue"
StoreEnabled="false"/> <JMSQueue JNDIName="SoeOrderSubmit" Name="OrderSubmitJMSQueue"
StoreEnabled="false"/> <JMSQueue JNDIName="SoeReferenceDataRefresh" Name="ReferenceDataJMSQueue"
StoreEnabled="false"/> <JMSQueue JNDIName="SoeTransactionHistoryLog" Name="TransactionHistoryLogJmsQueue"
StoreEnabled="false"/> <JMSQueue JNDIName="CCARefundSubmit" Name="TuxServicesJMSQueue"
RedeliveryDelayOverride="30000" StoreEnabled="true"/> <JMSTopic JNDIName="SoeFailoverReload"
Name="FailoverReloadTopic" StoreEnabled="false"/> </JMSServer> <JTA Name="twistDomain"
TimeoutSeconds="120"/> <Log FileCount="14" FileMinSize="1" FileName="logs/domain.log"
Name="twistDomain" NumberOfFilesLimited="true" RotationType="byTime"/> <PasswordPolicy
LockoutDuration="15" LockoutThreshold="4" Name="wl_default_password_policy"/>
<Realm CachingRealm="SoeCachingRealm" FileRealm="wl_default_file_realm" Name="soe_security_realm"/>
<SNMPAgent Name="twistDomain"/> <Security CompatibilityMode="true" Name="twistDomain"
PasswordPolicy="wl_default_password_policy" Realm="soe_security_realm" RealmSetup="true"/>
<SecurityConfiguration Credential="{3DES}x9Dc91liWeYhTCNCdL6p4XSuwuE/vQYuxUx00OHkQfou++Nz7ir8dA5r54wIVykPJ9ELRmVMKEUYFP33OWI2AyxwRZpHGZWv"
Name="twistDomain"/> <Server Name="blank"> <COM Name="blank"/> <ExecuteQueue Name="default"/>
<IIOP Name="blank"/> <JTAMigratableTarget Cluster="" Name="blank" UserPreferredServer="blank"/>
<JTARecoveryService Name="blank"/> <KernelDebug Name="blank"/> <Log Name="blank"/>
<SSL Name="blank"/> <ServerDebug Name="blank"/> <ServerStart Name="blank"/> <WebServer
Name="blank"/> </Server> <Server ListenPort="4501" Name="twist" ServerVersion="7.0.1.0"
TransactionLogFilePrefix="tlogs/"> <COM Name="twist"/> <ExecuteQueue Name="default"
ThreadCount="15"/> <IIOP Name="twist"/> <JTAMigratableTarget Cluster="" Name="twist"
UserPreferredServer="twist"/> <JTARecoveryService Name="twist"/> <KernelDebug
Name="twist"/> <Log FileCount="14" FileMinSize="1" FileName="logs/twist.log" Name="twist"
NumberOfFilesLimited="true" RotationType="byTime"/> <SSL ListenPort="4502" Name="twist"/>
<ServerDebug Name="twist"/> <ServerStart Name="twist"/> <WebServer LogFileName="logs/access.log"
LogRotationPeriodMins="1440" LogRotationType="date" LoggingEnabled="true" Name="twist"/>
</Server> <StartupClass ClassName="com.qwest.wireless.soe.services.ejb.C2kTransactionHistoryQueueRefreshStartup"
Name="C2kTransactionHistoryLogging queue refresh scheduler startup class" Targets="twist"/>
<StartupClass ClassName="com.qwest.wireless.soe.services.ejb.C2kServiceReportStartup"
Name="MyStartup Class" Targets="twist"/> <StartupClass ClassName="com.qwest.wireless.soe.referenceData.ejb.ReferenceDataStartup"
Name="ReferenceDataStartupClass" Targets="blank"/> <WLECConnectionPool MaximumPoolSize="5"
MinimumPoolSize="1" Name="ProductAvailabilityPool" PrimaryAddresses="//pcsdev50:14502"
Targets="twist" WLEDomain="PA_WLE_JAVA"/> <WLECConnectionPool FailoverAddresses="//sia-co5:31011"
MaximumPoolSize="5" MinimumPoolSize="1" Name="SIAWLECConnectionPool" PrimaryAddresses="//sia-co6:31011"
Targets="twist" WLEDomain="SIA_DASC"/> <WTCServer Name="twist" Targets="twist">
<WTCExport EJBName="com.qwest.wireless.soe.tuxedoServices.ejb.TuxCCAAdapter" LocalAccessPoint="TWIST_DOM"
Name="Refund" ResourceName="CCA_REFUND"/> <WTCImport LocalAccessPoint="TWIST_DOM"
Name="C2k_1" RemoteAccessPointList="TWISTELINK1,TWISTELINK2" ResourceName="ASMBLR_SOE"/>
<WTCImport LocalAccessPoint="TWIST_DOM" Name="C2k_2" RemoteAccessPointList="TWISTELINK2,TWISTELINK1"
ResourceName="ASMBLR_SOE"/> <WTCLocalTuxDom AccessPoint="TWIST_DOM" AccessPointId="TWIST_DOM"
BlockTime="70" ConnectionPolicy="ON_DEMAND" Interoperate="Yes" NWAddr="//nexus:4503"
Name="TWIST_DOM" Security="NONE"/> <WTCRemoteTuxDom AccessPoint="TWISTELINK1"
AccessPointId="TWISTELINK1" LocalAccessPoint="TWIST_DOM" NWAddr="//pcsdev53:14548"
Name="TWISTELINK1"/> <WTCRemoteTuxDom AccessPoint="TWISTELINK2" AccessPointId="TWISTELINK2"
LocalAccessPoint="TWIST_DOM" NWAddr="//nowhere:9999" Name="TWISTELINK2"/> </WTCServer>
</Domain>
Cheers PhilippHi Karol,
thanks for your answer.
I also had this SP synchronization issue regarding other problems with the execution of web templates. See my post <a href="https://forums.sdn.sap.com/thread.jspa?threadID=209587">https://forums.sdn.sap.com/thread.jspa?threadID=209587</a>.
I will once again ask the basis team, if the two SP-levels are identical.
Regards,
Philipp -
CMT cause locks in the database
We are using CMT. The tx_datasource uses the Sybase non-xa conneciton pool. And
only one datasource is used in the container transactions. According to the documentation,
the jts wrapper of the non-xa driver should be used internally for the CMT, hence,
only one connection is used for each transaction involved. But we saw more than
one connections are used in the transaction, and the connections lock each other
in Sybase. Can anyone help: how to ensure one database connection for one transaction
with CMT?
Thanks,
HaoguangI'm not sure if's connected, but it looks like you are trying to invoke a finder
afer be.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplates
method caused transaction rollback.
Also, what are the TX attributes of the EJB? Do you use RequresNew?
Other thing is that MaxCapacity="5" for the pool is way too low - it should be equal
at least number of exec threads...
Regards,
Slava Imeshev
"Haoguang" <[email protected]> wrote in message news:[email protected]...
>
Hi, Slava,
Indeed I forgot to say which version of wls. I have done the test on both wls7.0sp2
and the wls8.1sp1, got the same result. Here under is the part of the config.xml
and the log of wls7.0sp2.
Thanks,
Haoguang
Connection pool:
<JDBCConnectionPool CapacityIncrement="2"
DriverName="com.sybase.jdbc2.jdbc.SybDriver"
KeepXAConnTillTxComplete="true" MaxCapacity="5" Name="sybase"
Password="{3DES}806G7/IUF2V3CYIDxhqoxg=="
PreparedStatementCacheSize="10"
Properties="FAKE_METADATA=true;user=haoguang"
SupportsLocalTransaction="true" Targets="myserver"
TestConnectionsOnRelease="true" TestConnectionsOnReserve="true"
TestTableName="resource_db..feestdagen" URL="jdbc:sybase:Tds:dp_dsp_st_1:3050"/>
TX_DataSource:
<JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="tx_sybase"
Name="tx_sybase" PoolName="sybase" Targets="myserver"/>
JTA log
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <49:df0ad1997f28edb9> <110027> <49:df0ad1997f28edb9:
enlist weblogic.jdbc.jts.Connection, beforeState=new>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <49:df0ad1997f28edb9> <110027> <49:df0ad1997f28edb9:
XA.start(rm=weblogic.jdbc.jts.Connection, xar=weblogic.jdbc.jts.Connection@499877,
flags=TMNOFLAGS)>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <ResourceDescriptor[weblogic.jdbc.jts.Connection]:
startResourceUse, Number of active requests:1, last alive time:0 ms ago.>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <49:df0ad1997f28edb9> <110027> <49:df0ad1997f28edb9:
XA.start DONE (rm=weblogic.jdbc.jts.Connection, xar=weblogic.jdbc.jts.Connection@499877>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <49:df0ad1997f28edb9> <110027><ResourceDescriptor[weblogic.jdbc.jts.Connection]:
endResourceUse, Number of active requests:0>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <49:df0ad1997f28edb9> <110027> <Resource[weblogic.jdbc.jts.Connection]
new-->started>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <49:df0ad1997f28edb9> <110027> <49:df0ad1997f28edb9:
enlist weblogic.jdbc.jts.Connection, afterState=started>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <49:df0ad1997f28edb9> <110027> <49:df0ad1997f28edb9:
[EJBbe.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplates(java.lang.String,java.lang.String,int,java.util.
Collection,java.util.Collection)]:
setProperty: weblogic.jdbc=t3://144.248.0.237:7001>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
delist weblogic.jdbc.jts.Connection, TMSUSPEND, beforeState=started, startThread=Thread[ExecuteThread:
'10' for queue: 'default',5,Thread Group for Queue: 'default']>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
XA.end(rm=weblogic.jdbc.jts.Connection, xar=weblogic.jdbc.jts.Connection@499877,
flags=TMSUCCESS)>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <ResourceDescriptor[weblogic.jdbc.jts.Connection]:
startResourceUse, Number of active requests:1, last alive time:0 ms ago.>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
XA.end DONE (rm=weblogic.jdbc.jts.Connection, xar=weblogic.jdbc.jts.Connection@499877>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <ResourceDescriptor[weblogic.jdbc.jts.Connection]:
endResourceUse, Number of active requests:0>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <Resource[weblogic.jdbc.jts.Connection]
started-->ended>
####<Oct 29, 2003 9:53:25 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
delist weblogic.jdbc.jts.Connection, afterStateended>
####<Oct 29, 2003 9:53:59 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <wakeUp runing: 49:df0ad1997f28edb9>
####<Oct 29, 2003 9:53:59 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <Still within transaction abandon grace period.
Will start abandoning transactions after 531 seconds. 49:df0ad1997f28edb9>
####<Oct 29, 2003 9:53:59 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <49:df0ad1997f28edb9 wakeUpAfterSeconds(30)>
####<Oct 29, 2003 9:53:59 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <49:df0ad1997f28edb9 wakeUpAfterSeconds(30)>
####<Oct 29, 2003 9:53:59 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <49:df0ad1997f28edb9 wakeUpAfterSeconds(10)>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <wakeUp runing: 49:df0ad1997f28edb9>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <Still within transaction abandon grace period.
Will start abandoning transactions after 521 seconds. 49:df0ad1997f28edb9>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <Thread-0>
<kernel identity> <> <110027> <49:df0ad1997f28edb9 wakeUpAfterSeconds(30)>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
[EJBbe.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplates(java.lang.String,java.lang.String,int,java.util.
Collection,java.util.Collection)]:
ServerTransactionImpl.globalRollback()>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
[EJBbe.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplates(java.lang.String,java.lang.String,int,java.util.
Collection,java.util.Collection)]:
TX[49:df0ad1997f28edb9] active-->rolling back>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
[EJBbe.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplates(java.lang.String,java.lang.String,int,java.util.
Collection,java.util.Collection)]:
assignLocalRes. localsc=myserver+144.248.0.237:7001+mydomain+t3+, res=weblogic.jdbc.jts.Connection>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
delist weblogic.jdbc.jts.Connection, TMFAIL, beforeState=ended, startThread=null>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <ServerSCInfo.startRollback:
49:df0ad1997f28edb9>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027><ServerResourceInfo[weblogic.jdbc.jts.Connection].rollback(tx):
49:df0ad1997f28edb9>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
ServerResourceInfo[weblogic.jdbc.jts.Connection].rollback(tx, xid)>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
XAResource[weblogic.jdbc.jts.Connection].rollback()>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <ResourceDescriptor[weblogic.jdbc.jts.Connection]:
startResourceUse, Number of active requests:1, last alive time:0 ms ago.>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
XAResource[weblogic.jdbc.jts.Connection].rollback: SUCCESS>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <ResourceDescriptor[weblogic.jdbc.jts.Connection]:
endResourceUse, Number of active requests:0>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <49:df0ad1997f28edb9:
[EJBbe.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplates(java.lang.String,java.lang.String,int,java.util.
Collection,java.util.Collection)]:
setResourceOrSCCompletionState: C_ROLLEDBACK>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <ServerResourceInfo[weblogic.jdbc.jts.Connection].rollback
done>
####<Oct 29, 2003 9:54:09 AM CET> <Debug> <JTA> <inf237> <myserver> <ExecuteThread:
'12' for queue: 'default'> <kernel identity> <> <110027> <Resource[weblogic.jdbc.jts.Connection]
ended-->rolledback>
####<Oct 29, 2003 9:54:09 AM CET> <Info> <EJB> <inf237> <myserver> <ExecuteThread:
'10' for queue: 'default'> <kernel identity> <> <010049> <EJB Exception in method:
ejbFindByResourceParentAndResourceChildAndWeekday: javax.transaction.InvalidTransactionException:
Attempt to resume an inactive transaction: 49:df0ad1997f28edb9>
javax.transaction.InvalidTransactionException: Attempt to resume an inactive transaction:
49:df0ad1997f28edb9
at weblogic.transaction.internal.TransactionManagerImpl.resume(TransactionManagerImpl.java:357)
at weblogic.transaction.internal.ServerTransactionManagerImpl.resume(ServerTransactionManagerImpl.java:304)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.resumeTransaction(RDBMSPersistenceManager.java:768)
atbe.azvub.j2ee.schedule.CPAgendaTemplateBean_hizf65__WebLogic_CMP_RDBMS.ejbFindByResourceParentAndResourceChildAndWeekday
(CPAgendaTemplateBean_hizf65__WebLogic_CMP_RDBMS.java:1331)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.collectionFinder(RDBMSPersistenceManager.java:330)
at weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityManager.java:983)
at weblogic.ejb20.manager.BaseEntityManager.collectionFinder(BaseEntityManager.java:955)
at weblogic.ejb20.internal.EntityEJBLocalHome.finder(EntityEJBLocalHome.java:476)
atbe.azvub.j2ee.schedule.CPAgendaTemplateBean_hizf65_LocalHomeImpl.findByResourceParentAndResourceChildAndWeekday(CPAgenda
TemplateBean_hizf65_LocalHomeImpl.java:132)
at be.azvub.j2ee.schedule.bean.CBSchedulingServerBean.initAgendaTemplate(CBSchedulingServerBean.java:669)
at be.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplate(CBSchedulingServerBean.java:856)
atbe.azvub.j2ee.schedule.bean.CBSchedulingServerBean_srjcdy_EOImpl.pasteAgendaTemplate(CBSchedulingServerBean_srjcdy_EOImp
l.java:1932)
at be.azvub.j2ee.schedule.bean.CBSchedulingServerBean.pasteAgendaTemplates(CBSchedulingServerBean.java:917)
atbe.azvub.j2ee.schedule.bean.CBSchedulingServerBean_srjcdy_EOImpl.pasteAgendaTemplates(CBSchedulingServerBean_srjcdy_EOIm
pl.java:1878)
at be.azvub.j2ee.schedule.bean.CBSchedulingServerBean_srjcdy_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189) -
Timeout before connections are put back in the pool ?
Hi,
I am running a test with a single client : the test client send a requests,
wait for the response and when it gets it send another request and so on.
Looking at the connection pool, I can see that up to 8 DB connections
(connection high column in the WL console) have been used during the test
and I'm wondering why.
Our code has the following logic :
- get connection from pool
- execute query
- release connection (done in a finally block)
We're 100% sure the connections get put back in the pool after each
request. Is it possible that it would take some time before the connection
is put back in the pool which would explain why we use more than 1
connection ?
Thanks
-Vincent"Priscilla Fung" <[email protected]> wrote in message
news:[email protected]...
Hi,
All these attributes are for internal JDBC XA connection pool usages only.
Their main purpose is to work around bugs of various vendor's JDBC XA
drivers. Therefore, by default, it should be turned off. Also, they are
only applicable for TxDataSource with a XA connection pool, not a regular
connection pool.
Which driver are you using?
thanks Priscilla. Ok, so I won't mess with these parameters :-). Are you
confirming that they have nothing to do with the following behaviour :
1/ Start a transaction (entry of transaction-demarcated method)
2/ get a connection from the pool ,
3/ execute the query,
4/ release the connection
5/ get a connection from the pool ,
6/ execute the query,
7/ release the connection
8/ commit the transaction (exit method)
Then, the pool will show that 2 connections were used (and not one as I was
expecting). Joseph confirmed to me that this behaviour was due to the fact
that the connection is not recycled till the end of the transaction. I was
wondering if it had anything to do with these parameters ?
Thanks
-Vincent
Regards,
Priscilla
Vincent Massol <[email protected]> wrote in message
news:[email protected]...
Thanks Joseph. I would have thought that KeepXAConnTillTxComplete was
controlling this behaviour (it is set to false). Isn't that so ? Do youknow
where I could find information on :
KeepXAConnTillTxComplete (currently set to false)
NeedTxCtxOnClose (currently set to false)
NewXAConnForCommit (currently set to false)
XAEndOnlyOnce (currently set to false)
Thanks
-Vincent
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
Vincent Massol wrote:
Actually, I forgot to mention that we using the following logic :
1/ start transaction (enter method of session bean which is
transaction
enabled)
2/ Perform several JDBC queries
3/ commit transaction (exit of method)
Thus, is it possible that because we're using a Tx DataSource and
transactions, the DB connections from the pool are not recycled
until
the
commit ?Absolutely.
Also, I've found that there are some parameters related to XA :
KeepXAConnTillTxComplete (currently set to false)
NeedTxCtxOnClose (currently set to false)
NewXAConnForCommit (currently set to false)
XAEndOnlyOnce (currently set to false)
As they are set to false, the connections shouldn't be reserved
until
the
commit, right ?
Can someone explain to me (or point me to some doc) where theseparameters
are explained (I have looked a bit everywhere and couldn't find any
information) ?
Thanks
-Vincent
"Vincent Massol" <[email protected]> wrote in message
news:[email protected]...
Hi,
I am running a test with a single client : the test client send arequests,
wait for the response and when it gets it send another request and
so
on.
Looking at the connection pool, I can see that up to 8 DB
connections
(connection high column in the WL console) have been used during
the
test
and I'm wondering why.
Our code has the following logic :
- get connection from pool
- execute query
- release connection (done in a finally block)
We're 100% sure the connections get put back in the pool after
each
request. Is it possible that it would take some time before theconnection
is put back in the pool which would explain why we use more than 1
connection ?
Thanks
-Vincent
B.E.A. is now hiring! (12/14/01) If interested send a resume to
[email protected]
DIRECTOR OF PRODUCT PLANS AND STRATEGY San Francisco,
CA
E-SALES BUSINESS DEVELOPMENT REPRESENTATIVE Dallas, TX
SOFTWARE ENGINEER (DBA) Liberty
Corner,
NJ
SENIOR WEB DEVELOPER San Jose, CA
SOFTWARE ENGINEER (ALL LEVELS), CARY, NORTHCAROLINA San Jose, CA
SR. PRODUCT MANAGER Bellevue, WA
SR. WEB DESIGNER San Jose, CA
Channel Marketing Manager - EMEA Region London, GBR
DIRECTOR OF MARKETING STRATEGY, APPLICATION SERVERS San Jose, CA
SENIOR SOFTWARE ENGINEER (PLATFORM) San Jose, CA
E-COMMERCE INTEGRATION ARCHITECT San Jose, CA
QUALITY ASSURANCE ENGINEER Redmond, WA
Services Development Manager (Business Development Manager - Services)Paris, FRA; Munich, DEU
SENIOR SOFTWARE ENGINEER (PLATFORM) Redmond, WA
E-Marketing Programs Specialist EMEA London, GBR
BUSINESS DEVELOPMENT DIRECTOR - E COMMERCE INTEGRATION San Jose, CA
MANAGER, E-SALES Plano, TX
Maybe you are looking for
-
How to create ADF UI based on polymorphic view objects
Hi, I'm using JDeveloper build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660. I created a simple application based on Steve's example #10 [url http://blogs.oracle.com/smuenchadf/examples/]ViewRow and EntityObject Polymorphism. I added a men-only attr
-
How do I move a file from one catalog to aanother?
How do I move a file from one catalog to another?
-
How to change font size on screen
how to change font size on screen
-
Need help all the way around with this. Not sure how to update this macbook -- it has an old administrator name and I don't have the password; when I download updates they open in MAIL and not sure why -- don't use MAIL. I have Office mac and updated
-
Hi i want to know how to set the delivery date as a standard for PO
hi in terms of delivery date how is it possible to set a later date so that I dont need to change it every time I save a purchase order.