How is connection pooling done in ias ?
is it the "DataSource Registration' ->'DataSource Pool' ->'MaxPoolSize' or is it 'Data Access Driver'-> 'Cache'-> 'Maximum Connections'
or is it somewhere else ?
The connection pool settings for a particular datasource should be done in Datasource Pool-> MaxPoolSize.
The Driver-> Maximum Connections is the maximum no. of connections to the particular database.
Note the difference between these two, two different datasources could connect to a database using the same database driver.
Hope this helps.
Thanks,
Rakesh.
Similar Messages
-
How database connection pooling works in a application
Hi Guys,
I am new to Java and looking into best way of doing J2ee database conectivity. I am using Eclipse galileo3.5 J2EE with Mysql database and Tomcate 6.0.
I am developing an email application where I need to implement MVC model for my webapplication, using jsp for presentation, servlet for control and java beans for model.
I came across two tutorial for database connection pooling as given below.
Eclipse Corner Article: Creating Database Web Applications with Eclipse - In this tutorial connection pooling is configure in Tomcate 6.0
It says Copy and paste the following into your context.xml file (you may have to click on the Source tab at the bottom of the editor to be able to paste). This defines a DataSource with the name "jdbc/SampleDB". Our application will retrieve database connections from the pool using this name.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/SampleDB" auth="Container"
type="javax.sql.DataSource"
username="app" password="app"
driverClassName="org.apache.derby.jdbc.ClientDrive r"
url="jdbc:derby://localhost:1527/sample"
maxActive="8" />
</Context>
Where as in second tutorial - http://www.roseindia.net/answers/viewanswers/2838.html
It uses java bean for connection pooling and then use straight way in JSP and no Servlet used.
conpool.jsp
<%@page import="java.sql.Connection"%>
<jsp:useBean id="pl" class="com.CoreJava.ConnectionPooling"/>
<% Connection con = pl.getConnection(); %>
//do something using con
connectionPooling.java
import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolD ataSource;
public class ConnectionPooling
static Connection con=null;
public static Connection getConnection()
try
MysqlConnectionPoolDataSource po=new MysqlConnectionPoolDataSource();
po.setServerName("localhost");
po.setPortNumber(3306);
po.setDatabaseName("mydatabase"); //changeur database name
po.setUser("root");//ur username
po.setPassword("");//ur password
con = po.getConnection();
catch(Exception e)
System.out.println("Exception Connection :"+e);
return con;
Please some one explain which is the best way of doing connection pooling to the database by using MVC pattern
Please if some one advise me how to use MVC architecture for simple email application and database connectivty.
Thanks>
>
Where as in second tutorial - http://www.roseindia.net/answers/viewanswers/2838.html
Never EVER use roseindia. It is terrible shit.
[http://balusc.blogspot.com/2008/06/what-is-it-with-roseindia.html]
The correct answer is what you found in the eclipse article. And you can read the Tomcat docs for more.
As per usual the code you have posted from Roseindia is a big pile of rubbish that was written by a complete idiot. I mean the person who wrote it apparently doesn't know much Java at all. Let alone JDBC. Or Connection pools. Or J2EE. It's not the worst I've seen from them but it's pretty bad. -
How is Connection Pooler Found
In Tomcat (say) one defines a resource like
<Resource name="jdbc/myjdbc" type="javax.sql.DataSource"/>...
(Note that DataSource is an interface, not a class.)
In the code we then just say
envCtx=InitialContext().lookup("java:comp/env");
DataSource ds = envCtx.lookup("jdbc/myjdbc");
But how on earth does JNDI/Tomcat know which factory to use create a DataSource? How does it know to use DBCP for this connection, and not some other pool? How could it without having weird hooks into JINDI?
AnthonyOK so there is an additional factory parameter that presumably has a default value of dbcp.
<Resource name="jdbc/testdbfPool1" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/testDBFPool1">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.hxtt.sql.dbf.DBFDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:dbf:///d:/dbffiles</value>
</parameter>
Thanks for the reply. I was surprised not to see something on the jdbc resource definition, forgot about defaults.
Anthony -
How To: Monitor usage of a connection pool
So I have a bunch of EJBs using a DB connection pool hosted under iAS
6sp2 on Solaris. How do I monitor pool usage? I would like to see
available pooled connections and in use connections - that would refresh
periodically.
The iAST tool has the monitor thing, which I turned on and added some
plots (active connection, and something else)...but those plots flat
lined and never showed any activity nor usefull information.
Can you hook up SNMP to an iAS? What about JMX? What are other
suggestions?
Thanks in advance,
Fred Welland
[email protected]
Intelix Inc.You can enable debug ( level = 1 ) at the pool level. This would throw some additonal information into kjs log. Unfortunately there is no time stamp with these lines. But you will get an ides of how your pool is performing during the test.
-
How to use connection pools in production environment
Hai
We are using Statless Session beans which will call bean managed entity beans
as a developer we completed the first phase of our project successful but when
comming to the production environment they(Higher authoritites of the company)
are asking abt the connection pools. Suppose if my wlserver5.1 has 100 hits per
a second how many connection pools i need to put in the production envirornment
and also is it the right way to increase the connectionpools depends upon the
clients hits????. Can anybody help me regarding this It is very urgent for us.
Cheers Kiran NallamHi Aravind,
It can be used only for calculation kinda "minimum size".
Nothing can prevent a developer from writing something
like this:
Connection con1 = ds.getConnection();
Connection con2 = ds.getConnection();
Connection con3 = ds.getConnection();
Regards,
Slava Imeshev
"Aravind Krishnasamy" <[email protected]> wrote in message news:3bfa85f6
You can fix the size of the weblogic connection pool depending on yourexecute
thread count value. For example the default value of execute thread countvalue
is 15. So at a given point of time you cannot use more then 15 databaseconnection.
Database connection pool size should be equal to or less then the size ofexecute
thread count
"Slava Imeshev" <[email protected]> wrote:
Hi Kiran,
It's hard to provide exact dependence between number of hits
and actual number of consumed connections because it's a highly
variable distributed environment. But the general approach is
simple - before rolling out your application, make sure you
tested it under simulated peak load. Your connection pool should
have enough connections to serve peak load. Without such a testing
you will never know whether your app scales or not.
Regards,
Slava Imeshev
"Kiran" <[email protected]> wrote in message
news:3bf9d676$[email protected]..
Hai
We are using Statless Session beans which will call bean managed entitybeans
as a developer we completed the first phase of our project successfulbut
when
comming to the production environment they(Higher authoritites of thecompany)
are asking abt the connection pools. Suppose if my wlserver5.1 has100
hits per
a second how many connection pools i need to put in the productionenvirornment
and also is it the right way to increase the connectionpools dependsupon
the
clients hits????. Can anybody help me regarding this It is very urgentfor
us.
Cheers Kiran Nallam -
Cannot create a sybase connection pool
I am trying to migrate from Orion app server to Sun One appserver. Here is how I define the connection pool for orion
<data-source class="com.evermind.sql.DriverManagerDataSource"
name="TestPool"
location="jdbc/rumbaDataSource"
xa-location="jdbc/xa/rumbaPool"
ejb-location="jdbc/rumbaPool"
connection-driver="com.sybase.jdbc2.jdbc.SybXADataSource"
connection-retry-interval="60"
username="test"
password="test"
url="jdbc:sybase:Tds:3.23.24.25:20000/abc?HOSTNAME=rumba"
inactivity-timeout="300"
min-connections="6"
max-connections="75"
/>
This is how my connection pool appears in Sun ONE
<jdbc-connection-pool steady-pool-size="8" max-pool-size="32" max-wait-time-in-millis="60000" pool-resize-quantity="2" idle-timeout-in-seconds="300" is-isolation-level-guaranteed="false" is-connection-validation-required="false" connection-validation-method="auto-commit" fail-all-connections="false" datasource-classname="com.sybase.jdbc2.jdbc.SybXADataSource" name="TestPool">
<property value="3.23.24.25" name="serverName"/>
<property value="20000" name="portNumber"/>
<property value="jdbc:sybase:Tds:" name="networkProtocol"/>
<property value="test" name="user"/>
<property value="test" name="password"/>
<property value="abc" name="databaseName"/>
</jdbc-connection-pool>
But, I am unable to make a connection using this connection poolHere is the exception
SEVERE: RAR5041:Cannot get jdbc connection
com.sun.enterprise.repository.J2EEResourceException
java.lang.NoSuchMethodException: seturl
at com.sun.enterprise.repository.JdbcConnectionPool.createDataSource(Jdb
cConnectionPool.java:243)
at com.sun.enterprise.resource.JdbcUrlAllocator.createResource(JdbcUrlAl
locator.java:80)
at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyReso
urces(IASNonSharedResourcePool.java:856)
at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonS
haredResourcePool.java:416)
at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResou
rce(IASNonSharedResourcePool.java:625)
at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASN
onSharedResourcePool.java:520)
at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolM
anagerImpl.java:263)
at com.sun.enterprise.resource.JdbcXAConnection.<init>(JdbcXAConnection.
java:74)
at com.sun.enterprise.resource.Jdbc10XaAllocator.createResource(Jdbc10Xa
Allocator.java:94)
at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyReso
urces(IASNonSharedResourcePool.java:856)
at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonS
haredResourcePool.java:416)
at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResou
rce(IASNonSharedResourcePool.java:625)
at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASN
onSharedResourcePool.java:520)
at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolM
anagerImpl.java:263)
at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerIm
pl.java:170)
at com.sun.enterprise.resource.JdbcDataSource.internalGetConnection(Jdbc
DataSource.java:241)
at com.sun.enterprise.resource.JdbcDataSource.getConnection(JdbcDataSour
ce.java:124)
at samples.jdbc.simple.servlet.GreeterDBLogDisplayServlet.doGet(Unknown
Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.StandardWrapperValve.invokeServletService(St
andardWrapperValve.java:720)
at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrap
perValve.java:118)
at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperVa
lve.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:274)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:505)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:212)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:203)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:505)
at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProce
ssor.java:157)
at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
INFO: CORE3282: stdout: - Could not interact with the database
INFO: CORE3282: stdout: - Exception: java.sql.SQLException: com.sun.enterprise.r
epository.J2EEResourceException
WARNING: CORE3283: stderr: at com.sun.enterprise.repository.JdbcConnectionP
ool.createDataSource(JdbcConnectionPool.java:238)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcUrlAllocator.
createResource(JdbcUrlAllocator.java:80)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
INFO: CORE3282: stdout: java.lang.NoSuchMethodException: seturl
INFO: CORE3282: stdout: Closing statement...
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.initPool(IASNonSharedResourcePool.java:416)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.internalGetResource(IASNonSharedResourcePool.java:625)
INFO: CORE3282: stdout: - Could not close the statement and connection
INFO: CORE3282: stdout: GreeterDBLogDisplayServlet is all done
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.getResource(IASNonSharedResourcePool.java:520)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.PoolManagerImpl.g
etResourceFromPool(PoolManagerImpl.java:263)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcXAConnection.
<init>(JdbcXAConnection.java:74)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.Jdbc10XaAllocator
.createResource(Jdbc10XaAllocator.java:94)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.initPool(IASNonSharedResourcePool.java:416)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.internalGetResource(IASNonSharedResourcePool.java:625)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.getResource(IASNonSharedResourcePool.java:520)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.PoolManagerImpl.g
etResourceFromPool(PoolManagerImpl.java:263)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.PoolManagerImpl.g
etResource(PoolManagerImpl.java:170)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcDataSource.in
ternalGetConnection(JdbcDataSource.java:241)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcDataSource.ge
tConnection(JdbcDataSource.java:124)
WARNING: CORE3283: stderr: at samples.jdbc.simple.servlet.GreeterDBLogDispl
ayServlet.doGet(Unknown Source)
WARNING: CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:740)
WARNING: CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:853)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
.invokeServletService(StandardWrapperValve.java:720)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
.access$000(StandardWrapperValve.java:118)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
$1.run(StandardWrapperValve.java:278)
WARNING: CORE3283: stderr: at java.security.AccessController.doPrivileged(N
ative Method)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
.invoke(StandardWrapperValve.java:274)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:505)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardContextValve
.invoke(StandardContextValve.java:212)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:505)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardHostValve.in
voke(StandardHostValve.java:203)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:505)
WARNING: CORE3283: stderr: at com.iplanet.ias.web.connector.nsapi.NSAPIProc
essor.process(NSAPIProcessor.java:157)
WARNING: CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebC
ontainer.java:598) -
ABAP MDM Connection Pool concept? Slow Performance in call
Hi,
I'm playing around with the MDM ABAP API, and I found the performance a bit disappointing.
I followed the guide "How To identify master data records using SAP MDM 5.5 ABAP API's" and wrote a test program.
The program makes a connection, triggers an MDM query, and disconnects.
CREATE OBJECT api
EXPORTING
iv_log_object_name = logical_object_name.
api->mo_accessor->connect( language ).
* Query parameters
ls_query-parameter_code = 'Material_Number'.
ls_query-operator = 'CS'.
ls_query-dimension_type = 1.
ls_query-constraint_type = 8.
ls_value = '70'.
GET REFERENCE OF ls_value INTO ls_query-value_low.
APPEND ls_query TO lt_query.
CLEAR ls_query.
* Search
CALL METHOD api->mo_core_service->query
EXPORTING
iv_object_type_code = 'Products'
it_query = lt_query
iv_hits_max = 10
IMPORTING
et_result_set = lt_result_set.
Connection is really fast (a split second)
First time triggered 'query' method took about 30-50 seconds.
Second time triggering 'query' method took a split second.
Further to my investigation, I found out the most expensive code lies in
CL_MDM_PROVIDER_SP04_PL03->IF_MDM_CORE_SERVICES~QUERY
*--- load field meta data ---*
IF mt_mdm_field_meta_data IS INITIAL
OR mt_field_meta_data IS INITIAL.
CALL METHOD me->_load_field_information.
ENDIF.
Within this method loadfield_information, it rips all the table and structure information
from MDM, and ALL language texts and so on.
It has many loops, and within the loops querying MDM for more information.
Is there anyway to speed this up?
Why aren't these data cached? (They don't change so often in a production environment)
I also found a shared memory class CL_MDM_METADATA_ACCESS but it is not used anywhere.
No shared memory area relevant is delivered by SAP as well.
Any ideas?
Cheers,
Michael.Hi Michael,
you're welcome.
I'm not sure how the Connection Pooling to MDM is really done by the ABAP APIs as I'm unfortunately not an API developer but just use the API for my programms.
What I learned during this process is that the repository meta data (meaning table descriptions, and so on) have to be loaded at least once for each connection. This makes sense because a repository can always be changed manually by any user. And I don't think that it would be faster to hold the meta data persistent in the ABAP layer because then you would need to compare the ABAP available meta information with the current meta information of the repository. This could take even longer.
I've solved this "issue" in a way that I really rely on the connection because a single connection is very stable. So I call the "CONNECT" only once in the very beginning, run through my coding and the very last step is the "DISCONNECT". As long as a connection is available, the meta data is cached in the API layer (at least this is the case for SP05).
BR Michael -
Hi there,
I was previously using the jferner/node-oracle module with the "generic-pool" (https://github.com/coopernurse/node-pool) module for connection pooling.
I'm trying out a setup with connection pooling with node-oracledb and have a few questions:
* If an execute call fails with a connection i've retrieved from the pool, and I want to destroy that connection and remove it from the pool, how do I do that? Is it done implicitly for me?
* Is there any way to validate a connection before it's used? Or again, is this done implicitly? Is there a way to toggle it on and off for perf tuning?
* Is there any way to tune how frequently Oracle checks for idle connections? (In generic-pool this was called reapIntervalMillis)
* Is there any way to turn on any logging of how the connection pool behaves for development debugging? I just want to make sure my setup is behaving as I think it should be.
I'm making some good headway on getting the module working and it wasn't too difficult a conversion from node-oracle, either, that's good!
-MattYou should release() bad connections to the pool so the pool can replace them.
Validating connections is generally not worth it: between validation & use there could be a failure, so your executions need to handle errors anyway. Why reduce scalability and performance by doing an extra "round trip" for validation? Also you can use FAN which can proactively clean up idle sessions in the session pool that are affected by the DB instance disappearing (due to network glitches etc).
The client-side pool is handled by Oracle session pooling, so the algorithms are opaque. -
OC4J connection polling don't work
Application Server version is Oracle Enterprise Manager 10g Application Server Control 9.0.4.0.0
Operating System is Sun Solaris 9
data-source.xml configuration file is
<?xml version = '1.0' standalone = 'yes'?>
<!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://xmlns.oracle.com/ias/dtds/data-sources-9_04.dtd">
<data-sources>
<data-source location="jdbc/pool/JCheckSuiteDS"
class="oracle.jdbc.pool.OracleConnectionCacheImpl"
password="ckmgr"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="ckmgr"
url="jdbc:oracle:thin:@localhost:1521:JHECK"
inactivity-timeout="30"
name="JCheckSuiteDS"
min-connections="1"
max-connections="10">
<property name="cacheScheme" value="1"/>
</data-source>
</data-sources>
connection pooling don't work !!!
thanks for help
AldoHi Steve,
I solved the problem,
Reading the article
http://www.oracle.com/technology/products/jdev/tips/muench/ampooling/index.html
I tried to check the 'Disconnect Application Module Upon Release' in the configuration panel of an ApplicationModule who sets the parameter "jbo.doconnectionpooling=true" in bc4j.xcfg,
Now the Application does not open one connection for every ApplicationModule and for every Http Session,
but only one for every simultaneous request, having a total number of connections small.
Despite of this, I had to restore original configuration parameters in bc4j.xcfg,
because using this approach there where problems with View Objects that I assumes as pre-filter in some pages
and that now seems to be 'clear' (I.E. wrong paging or 'Not all variables bound' error on parametrized query..)
Thanks anyway...
Aldo -
Clarification needed on JDBC Connection Pool in Clustered enviornment
Hi All,
Although I went through the bea online documentation , its not clear how
JDBC connection pool works in clustered environment.
If anyone can please answer following questions, it would be a great help.
1) Do I need to create identical connection pools (with identical ACLs) on
each WebLogic Server in the cluster ?
2) Online documentation says " If you create an identical JDBC DataSource in
each clustered WebLogic Server instance and configure those DataSources to
use different connection pools, the cluster can support load balancing for
JDBC connections. " what actually this means
3) What's the use of "JDBC MultiPools " ? Is it same as "JDBC metapool "
Thanks
Regards
Nalika
See comments inline...
Nalika wrote:
> Hi All,
>
> Although I went through the bea online documentation , its not clear how
> JDBC connection pool works in clustered environment.
> If anyone can please answer following questions, it would be a great help.
>
> 1) Do I need to create identical connection pools (with identical ACLs) on
> each WebLogic Server in the cluster ?
I don't believe that it is strictly necessary to do this but it is certainly the
most common configuration and probably the preferred one as well. WLS is smart
enough to automatically use its Type 3 driver to route requests to a connection
on another server but this type of server-to-server communication can have an
impact on performance and scalability.
> 2) Online documentation says " If you create an identical JDBC DataSource in
> each clustered WebLogic Server instance and configure those DataSources to
> use different connection pools, the cluster can support load balancing for
> JDBC connections. " what actually this means
Don't read too much into this. All that this is saying is that application
components in each server will "prefer" to use their local DataSource (all other
things being equal) and since other clustering technology (or things like
hardware load balancers) are spreading the load across the servers, you will
also spread the load across the different connection pools.
> 3) What's the use of "JDBC MultiPools " ? Is it same as "JDBC metapool "
Yes, these are one and the same.
Hope this helps,
Robert
-
Calculation of no of connection pools required...
hi,
1. How many connections can a connection pool have? is there any upper limit on it?
2. How do we calculate how many connection pools we need for good performance in our OBIEE system.
3. Currently my client have plans to launch this application for 5,000 users and later after few months the same application will be opened for 70,000 users. So how should i calculate the number of connection pools required so that all the users can acces the Dashboard without feeling much network traffic (assuming all the users are logged in same time)
Any suggestions guys?Hi Abhi,
To calculate maximum no of connections go through the gerard nico link that Srikanth has provided.Generally for init blocks and report queries we creat diffrent connection pools.
No of connection pools and max no of connections should be carefully chosen because BI server will allocate memory to these connection even if you are not using those connection pools.Total no of connections in RPD should be less than 800.This is an Oracle recommnedation.
Regards,
Sandeep -
I am using odp.net 10gR2. Is there a way I can monitor the connection pool, like action connection, connection strings or active connections etc. Also, can I know the like how many connection pools will be there per cpu in my server and can I make any of the connection pool as inactive or disable or something like that ?
Thanks,Hi,
isn't the theory that there is no direct guaranteed mapping between connections -> sessions -> process ?!
atleast on 10.2.0.1 x64 on windows 2003 i'm chasing a issue where v$session and v$process counts do not correspond to the number of thread in the oracle.exe process. Seems like as the connection pools increase the threads go up as you would expect but then stay idle until the client app restarts (also a bug with Dead connection detections and keepalives with this release potentially).
anybody else with this kind of issue or more insight or even better a method to get a bit more insight?
thanks -
How to config the oracle database connection pool in IAS
Hi,
Does anyone who hows to config the oracle database connection pool in IAS?
Thanks so much!!!
[email protected]
JackyJacky,
You need do the following for oracle type4 driver:
1) register the driver:
$IAS_HOME/bin/jdbcsetup
Driver Identifier: Oracle_Type4_816 (whatever name you like)
Driver Classname: oracle.jdbc.driver.OracleDriver
Driver Classpath: .../classes12.zip (install this this zip file somewhere
and add this zip into the Classpath later).
2) DataSource Setup:
start iAS Administration Tool (iASAT)
Choose Database, unfold iAS1 (your app server instance),
choose External JDBC Datasource -> add: DataSource Registration
JNDI Name: yourPoolName
Driver Type: Oracle_Type4_816 (select what you just register)
DataSource Url: jdbc:oracle:thin:@hostName:portName:dbName
Username: your_user_name
Password: your_passwd
(Datasource Pool: using defaults for now): you can also customrize the
parameters for the pool.
3. Add classes12.zip into CLASSPATH.
In your application, you can use JNDI lookup to get the DataSource from
which you get the connection from the pool.
Hope this helps.
Good luck.
Xuran
"Jacky Yan" <[email protected]> wrote in message
news:9m0tmp$[email protected]..
Hi,
Does anyone who hows to config the oracle database connection pool in IAS?
Thanks so much!!!
[email protected]
Jacky -
How to use JDBC Connection Pools in a standalone application?
Hi, there,
I have a question about how to use JDBC Connection Pools in an application. I know well about connection pool itself, but I am not quite sure how to keep the pool management object alive all the time to avoid being destroyed by garbage collection.
for example, at the website: http://www.developer.com/java/other/article.php/626291, there is a simple connection pool implementation. there are three classes:JDBCConnection, the application's gateway to the database; JDBCConnectionImpl, the real class/object to provide connection; and JDBCPool, the management class to manage connection pool composed by JDBCConnectionImpl. JDBCPool is designed by Singleton pattern to make sure only one instance. supposing there is only one client to use connection for many times, I guess it's ok because this client first needs instantiate JDBCPool and JDBCConnectionImpl and then will hold the reference to JDBCPool all the time. but how about many clients want to use this JDBCPool? supposing client1 finishes using JDBCPool and quits, then JDBCPool will be destroyed by garbage collection since there is no reference to it, also all the connections of JDBCConnectionImpl in this pool will be destroyed too. that means the next client needs recreate pool and connections! so my question is that if there is a way to keep pool management instance alive all the time to provide connection to any client at any time. I guess maybe I can set the pool management class as daemon thread to solve this problem, but I am not quite sure. besides, there is some other problems about daemon thread, for example, how to make sure there is only one daemon instance? how to quit it gracefully? because once the whole application quits, the daemon thread also quits by force. in that case, all the connections in the pool won't get chance to close.
I know there is another solution by JNDI if we develop servlet application. Tomcat provides an easy way to setup JNDI database pooling source that is available to JSP and Servlet. but how about a standalone application? I mean there is no JNDI service provider. it seems a good solution to combine Commons DBCP with JNID or Apache's Naming (http://jakarta.apache.org/commons/dbcp/index.html). but still, I don't know how to keep pool management instance alive all the time. once we create a JNDI enviroment or naming, if it will save in the memory automatically all the time? or we must implement it as a daemon thread?
any hint will be great apprieciated!
SamTo my knoledge the pool management instance stays alive as long as the pool is alive. What you have to figure out is how to keep a reference to it if you need to later access it.
-
How can i use connection pool within the sqlj?
hello
i am a beginner to sqlj,i find all of the sample code from the oracle DON'T use connectionpool,they only write the database url to "connection.properties" file,but i think in the production environment we should use the connectionpool to optimise the querying,i usually use the weblogic connection pool.
how can i use the connection pool within the sqlj?
thank you very much!Im not sure if I understand. :)
English is not my best language...
Looking up the connection again? Do you mean I have to create new DataSource object and bind it again to ServletContext?
Maybe you are looking for
-
I have a Toshiba Computer from 2007. It has Vista, Window Media Player and Center. The website is www.saddleback.com. The following is a sample sermon weblink I would like to download and save to a CD to play on the Windows Media Play or Center. http
-
Problem with CS4 activation using student users
Hi, I am working at a school and over the last few weeks we have rebuilt our network from a 2003/xp to 2008R2/Win7 network so have had to remake a lot of software packages. We have created and deployed CS4 with success across the network but seem to
-
mouse is not working properly. everything was fine in the store but as soon as i got home the mouse was not working
-
PC soundcard output's division with Y-adapter - possible? & does it affect the sound quali
Does the quality of the signal, quality of sound or power of the signal weaken in anyway if I split one of the soundcard's 3,5mm (/8'') output for two speakers with an 3,5mm Y-adapter?The soundcard is X-Fi ExtremeMusic and speakers connected are S750
-
hi, this tcode is to list out those billing that created but accounting document not being created. may i know what is the reason fi/co interface in column 'incomplete due to'? what could be the reason for fi/co interface which result in no accountin