RE: Prepared statements are not cached with XA in tomcat jdbc connection pool implementation

2016-05-17 Thread Sailaja Ravipati
Thank you. Will do that.

Regards,
Sailaja.

-Original Message-
From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
Sent: 18 May 2016 01:24
To: Tomcat Users List
Subject: Re: Prepared statements are not cached with XA in tomcat jdbc 
connection pool implementation

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Sailaja,

On 5/17/16 6:58 AM, Sailaja Ravipati wrote:
> I am using TomEE version Apache Tomcat Version 7.0.63. I have the 
> following test program.
> 
> public static void main(String[] args) throws Exception { final 
> TransactionManager transactionManager = TransactionManagerFactory 
> .getTransactionManager(); final PoolProperties poolProperties = new 
> PoolProperties();  SQLServerDataSource dataSource = new 
> com.microsoft.sqlserver.jdbc.SQLServerDataSource();
> dataSource.setUser("sa"); dataSource.setPassword("$9Lserver");
> dataSource.setURL("jdbc:sqlserver://sdwivedi63ks022:1433;sendStringPar
ametersAsUnicode=false");
>
> 
dataSource.setDatabaseName("himalaya");
> poolProperties.setDataSource(dataSource);  final String 
> jdbcInterceptors = 
> "org.apache.tomcat.jdbc.pool.interceptor.StatementCache(prepared=true,
callable=true)";
>
> 
poolProperties.setJdbcInterceptors(jdbcInterceptors);
> final org.apache.tomcat.jdbc.pool.DataSource pooledOracleDatasource = 
> new org.apache.tomcat.jdbc.pool.XADataSource( poolProperties); final 
> javax.sql.DataSource oracleDataSource = new 
> org.apache.openejb.resource.jdbc.managed.xa.ManagedXADataSource(
> pooledOracleDatasource, transactionManager, 
> TransactionProvider.getTransactionSynchronizationRegistry());
> Connection connection = oracleDataSource.getConnection(); for(int i=0; 
> i<50; i++) { PreparedStatement preparedStatement = 
> connection.prepareStatement("insert into MyTableNew values (" + i + 
> ")"); System.out.println(preparedStatement.getClass().getName());
> preparedStatement.execute(); preparedStatement.close(); } 
> connection.close(); }
> 
> If I run the above program, the output I see is: 
> com.sun.proxy.$Proxy11
> 
> If I just change the above program to use XA datasource, i.e. 
> Change the following line SQLServerDataSource dataSource = new 
> com.microsoft.sqlserver.jdbc.SQLServerDataSource(); To 
> SQLServerXADataSource dataSource = new 
> com.microsoft.sqlserver.jdbc.SQLServerXADataSource(); The output is
> : com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
> 
> So, if I use XA datasource, prepared statements are not cached. How do 
> I log a defect ?

The problem would be in commons-dbcp, so you should file a bug report in JIRA 
here:

http://commons.apache.org/proper/commons-dbcp/issue-tracking.html

Bug reports with complete information (or even a patch!) will get more 
attention than those without.

- -chris
-BEGIN PGP SIGNATURE-
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJXO3bFAAoJEBzwKT+lPKRY1oAP/iy4c6LQNx/Gcg+24MJry0/t
l30JkJsgeCa6uXgs7JUjCLxmaPjhCF3Fw4FtzwzqUgEY13yTF7jlFhvuq1elOoQx
w0eHpcW39iQ0DJvGvbz6cEpsR902mSSXyt6Ar7AAeZoAs7AlYKhLmp9wKBdqq1pq
PSJcBhrwxA0OcIgDscCj667diUYmmi914LRSUXNwiCCH3ymAMsoXFi63FD1/VxEf
W3vqKxJvmKwhlP1Jia0T9mCusqmwQfct2lJXuU+W9dDyCogkBdv4anDBivdRVJA8
VYRzHPjQQQOg7dwmXkulRLp1vToqFFaAFDhUVL+RSTX+R+Ee9fg+vqssUD4U6ba/
GCTXMTMck2/n06dDcNcpfF5M20nFDQ8eBUDqsmbP+NBMrTZfdyUTihCaoRW1x1rv
+YVJuD5TA6bNC6n70bWMLT2ybs3cxplB7lwPueO0t88nBehDqsz+XRSS64Si6hXn
wjKaW+CO7tVMhRmf8g9yKFKppklIUCpWX12iyJ4SRWtAVRIBcZ47HFgXfukPo03A
DcUwpjsSHgvyOUpwWe31mVeQMyY5VDu8lFSjqmaHthqQGvRnGaYUPD3VJd71mobV
AqkNTk3xcySN/sirUx6KVm6rwYClIvN2xQswn5cvFeRjRFO6BCGemjsW7+aF40Mu
+Q3ahYmlTYBownFshBV2
=Vau+
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Prepared statements are not cached with XA in tomcat jdbc connection pool implementation

2016-05-17 Thread Sailaja Ravipati
Hi

I am using TomEE version Apache Tomcat Version 7.0.63. 
I have the following test program.

public static void main(String[] args) throws Exception 
{
final TransactionManager transactionManager = 
TransactionManagerFactory
.getTransactionManager();
final PoolProperties poolProperties = new PoolProperties();

SQLServerDataSource dataSource = new 
com.microsoft.sqlserver.jdbc.SQLServerDataSource();
dataSource.setUser("sa");
dataSource.setPassword("$9Lserver");

dataSource.setURL("jdbc:sqlserver://sdwivedi63ks022:1433;sendStringParametersAsUnicode=false");
dataSource.setDatabaseName("himalaya");
poolProperties.setDataSource(dataSource);

final String jdbcInterceptors = 
"org.apache.tomcat.jdbc.pool.interceptor.StatementCache(prepared=true,callable=true)";
poolProperties.setJdbcInterceptors(jdbcInterceptors);
final org.apache.tomcat.jdbc.pool.DataSource 
pooledOracleDatasource = new org.apache.tomcat.jdbc.pool.XADataSource(
poolProperties);
final javax.sql.DataSource oracleDataSource = new 
org.apache.openejb.resource.jdbc.managed.xa.ManagedXADataSource(
pooledOracleDatasource, transactionManager,

TransactionProvider.getTransactionSynchronizationRegistry());
Connection connection = oracleDataSource.getConnection();
for(int i=0; i<50; i++)
{
PreparedStatement preparedStatement = 
connection.prepareStatement("insert into MyTableNew values (" + i + ")");

System.out.println(preparedStatement.getClass().getName());
preparedStatement.execute();
preparedStatement.close();
}
connection.close();
}

If I run the above program, the output I see is:
com.sun.proxy.$Proxy11

If I just change the above program to use XA datasource, i.e.
Change the following line
SQLServerDataSource dataSource = new 
com.microsoft.sqlserver.jdbc.SQLServerDataSource();
To
SQLServerXADataSource dataSource = new 
com.microsoft.sqlserver.jdbc.SQLServerXADataSource();
The output is :
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement

So, if I use XA datasource, prepared statements are not cached. How do I log a 
defect ?

Regards,
Sailaja.


RE: Registering database connection pool with JMX in Tomcat - Hot setting ?

2016-05-09 Thread Sailaja Ravipati
I am using tomcat jdbc pool that gets initialized with PoolProperties. Is this 
what you are looking for ? 

Regards,
Sailaja.
-Original Message-
From: Mark Thomas [mailto:ma...@apache.org] 
Sent: 09 May 2016 14:19
To: Tomcat Users List
Subject: Re: Registering database connection pool with JMX in Tomcat - Hot 
setting ?

On 09/05/2016 05:19, Sailaja Ravipati wrote:
> Hi
> 
> I am using Tomcat version 7.0.63.
> I have registered the dbconnection pool with MBeanServer.
> Is there a way to make those methods hot setting? What I mean by this is, for 
> example if I change statement cache size in the jconsole, it should take 
> effect immediately.

That will depend on the connection pool implementation you have chosen.
Seeing you haven't told us which connection pool you are using...

Mark


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Registering database connection pool with JMX in Tomcat - Hot setting ?

2016-05-08 Thread Sailaja Ravipati
Hi

I am using Tomcat version 7.0.63.
I have registered the dbconnection pool with MBeanServer.
Is there a way to make those methods hot setting? What I mean by this is, for 
example if I change statement cache size in the jconsole, it should take effect 
immediately.

Any help is greatly appreciated.

Regards,
Sailaja.

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org