Execute threads used by connection pools
Hellos,
I am interested in fining out the relationship betwen the sizes of the execute
thread pool and a connection pool (jolt in my case).
I would like to know if each jolt conection uses up a thead from the default execute
queu or if the threads are taken from a different and reserved thread pool.
I am trying to tune up the thread pool size according to my pool sizes and so
on.
Any ideas?
Best regards,
Cristina
Cristina Ceballos wrote:
Hellos,
I am interested in fining out the relationship betwen the sizes of the execute
thread pool and a connection pool (jolt in my case).
I would like to know if each jolt conection uses up a thead from the default execute
queu or if the threads are taken from a different and reserved thread pool.
I am trying to tune up the thread pool size according to my pool sizes and so
on.
Any ideas?Hi. Connection pools do not use threads. Your application thread will get a connection
from the pool and use it. The relationship between threads and pools is that you want
to have enough connections in your pool to be able to serve all the threads that
may individually want a connection. Therefore for a server with 25 execute-threads,
you would typically define the pool to have 25 connections.
Joe
>
Best regards,
Cristina
Similar Messages
-
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 do I find out what is using a connection pool
This morning weblogic 8.1.5 complained it couldn't expand a connection pool because it had reached is max concurrent connects limit.
The issue I have is that I don't actually know what is using the connection pool. It should be defunct and redundent but obviously not.
This caused all the threads to be consumed and the managed server hung.
Does anyone know wether it's possible to interigate the pool to find out what it's doing ? I can't check the db as it's managed by another company and I have a v limited read only account.... I can't even select from v&session.
Cheers in advance for any help.Dave Snaith wrote:
This morning weblogic 8.1.5 complained it couldn't expand a connection pool because it had reached is max concurrent connects limit.
The issue I have is that I don't actually know what is using the connection pool. It should be defunct and redundent but obviously not.
This caused all the threads to be consumed and the managed server hung.
Does anyone know wether it's possible to interigate the pool to find out what it's doing ? I can't check the db as it's managed by another company and I have a v limited read only account.... I can't even select from v&session.
Cheers in advance for any help.If the pool is not supposed to be used, disable it via the console,
and whatever applications are still trying to use it will get
quick exceptions.
Joe -
What's the difference between using a connection pool and a datasource
Howdy. I figure this is a newbie question, but I can't seem to find an
answer.
In the docs at bea, the datasource docs say
"DataSource objects provide a way for JDBC clients to obtain a DBMS
connection. A DataSource is an interface between the client program and the
connection pool. Each data source requires a separate DataSource object,
which may be implemented as a DataSource class that supports either
connection pooling or distributed transactions."
In there it says the datasource uses the connection pool, but other than
that, what is the difference between a connection pool and a datasource?Thanks for the info. I think it makes some sense. But it's a bit greek.
I'm sure it'll make more sense the more I work with it. Thanks.
"Chuck Nelson" <[email protected]> wrote in message
news:3dcac1f5$[email protected]..
>
Peter,
Here is a more formal definition of a DataSource from the Sun site
"A factory for connections to the physical data source that thisDataSource object
represents. An alternative to the DriverManager facility, a DataSourceobject
is the preferred means of getting a connection. An object that implementsthe
DataSource interface will typically be registered with a naming servicebased
on the JavaTM Naming and Directory (JNDI) API.
The DataSource interface is implemented by a driver vendor. There arethree types
of implementations:
Basic implementation -- produces a standard Connection object
Connection pooling implementation -- produces a Connection object thatwill automatically
participate in connection pooling. This implementation works with amiddle-tier
connection pooling manager.
Distributed transaction implementation -- produces a Connection objectthat may
be used for distributed transactions and almost always participates inconnection
pooling. This implementation works with a middle-tier transaction managerand
almost always with a connection pooling manager.
Does that help clarify the distinction?
Chuck Nelson
DRE
BEA Technical Support -
Error using mySQL connection Pool
I see the following error when my application uses the connection pool - can anyone explain this ?
INFO: CORE3282: stdout: =======================>ERROR :com.sun.enterprise.repository.J2EEResourceException
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonSharedResourcePool.java:416)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResource(IASNonSharedResourcePool.java:625)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASNonSharedResourcePool.java:520)
INFO: CORE3282: stdout: java.lang.NoSuchMethodException: setdataSourceNameHi,
You have used dataSourceName property while creating a connection pool.This property is not required to be set while creating a connection pool for MySql
Use the following properties:
<property name="serverName" value="<name of server>"
<property name="port" value="<port number>"
<property name="DatabaseName" value="<your db name>"
<property name="User" value="<user name>"
<property name="Password" value="<passwd>"
Get back in case of any issues -
Problem in retriving varray when using weblogic connection pool
Hi,
I had similar problem when we I am using the weblogic connection pool. I had similar setup i.e weblogic 5.1 servicepack9 and oracle 8.1.7.
I cofigarud the weblogic connection pool using Oracle thin driver.
But if I am using with oracle thin driver directly I am able to retrive.
If any one know how to retrive varray from procedure using weblogic connection pool please send me it.
Thanx.
Bye,
Satyahttp://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#setAutoCommit(boolean)
-
PROBLEM DESCRIPTION :
When I try to read a clob from Oracle, I receive "ORA-03120: two-task
conversion routine: integer overflow" Error.
This error occurs only for CLOB Type and only if I try to connect to
Oracle using WebLogic JDriver/Oracle POOL.
IMPORTANT NOTE: I can read CLOB or any other data using direct JDBC
connection to ORacle with out any problem.
Below Please find the JAVA CODE for Both Working and NON Working .
Created a Connection Pool as:
Name: MyJDBCConnectionPool
URL : jdbc:weblogic:oracle
DIRVER:weblogic.jdbc.oci.Driver
NON WORKING JAVA CODE (USES WEBLOGIC JDBC CONNECTION POOL TO ORACLE):
Driver myDriver =
(Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();
Connection mconn =
myDriver.connect("jdbc:weblogic:pool:MyJDBCConnectionPool",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
WORKING JAVA CODE (USES DIRECT THIN JDBC CONNECTION TO ORACLE):
Driver myDriver =
(Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection mconn =
myDriver.connect("jdbc:oracle:thin:@server:1521:DB",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
ERROR MESSAGE:
ORA-03120: two-task conversion routine: integer overflow
I appreciate your help on this problem.PROBLEM DESCRIPTION :
When I try to read a clob from Oracle, I receive "ORA-03120: two-task
conversion routine: integer overflow" Error.
This error occurs only for CLOB Type and only if I try to connect to
Oracle using WebLogic JDriver/Oracle POOL.
IMPORTANT NOTE: I can read CLOB or any other data using direct JDBC
connection to ORacle with out any problem.
Below Please find the JAVA CODE for Both Working and NON Working .
Created a Connection Pool as:
Name: MyJDBCConnectionPool
URL : jdbc:weblogic:oracle
DIRVER:weblogic.jdbc.oci.Driver
NON WORKING JAVA CODE (USES WEBLOGIC JDBC CONNECTION POOL TO ORACLE):
Driver myDriver =
(Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();
Connection mconn =
myDriver.connect("jdbc:weblogic:pool:MyJDBCConnectionPool",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
WORKING JAVA CODE (USES DIRECT THIN JDBC CONNECTION TO ORACLE):
Driver myDriver =
(Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection mconn =
myDriver.connect("jdbc:oracle:thin:@server:1521:DB",null);
mconn.setAutoCommit (false);
CallableStatement cs = mconn.prepareCall("{call
P_XMLTEST2(?)}"); //This returns a CLOB
cs.registerOutParameter(1,java.sql.Types.CLOB);
cs.execute();
Clob clob = null;
clob = cs.getClob(1);
String data =new String();
data = clob.getSubString(1, (int)clob.length());
System.out.println(data); //print the data
data = null;
clob=null;
cs.close();
ERROR MESSAGE:
ORA-03120: two-task conversion routine: integer overflow
I appreciate your help on this problem. -
Multiple DataSource using single Connection Pool
Previously using Weblogic 6.1 we had a configuration where multiple Datasources used a single connection pool. Now that we are in the process of upgrading to Weblogic 9.1, we are attempting to recreate the same configuration.
The Weblogic 9.1 upgrade wizard appears to have created the relevent datasource & connection pool configuration files but when attempting to use these I am receiving the following errors:
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901758> <BEA-001508> <Destroying Connection Pool TestDSLegacyPool.>
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901758> <BEA-001155> <The following exception has occurred:
weblogic.common.ResourceException: Unknown Data Source TestDSLegacyPool
at weblogic.jdbc.common.internal.ConnectionPoolManager.shutdownAndDestroyPool(ConnectionPoolManager.java:419)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:251)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
>
####<30-Jan-2007 11:18:21 o'clock GMT> <Error> <Deployer> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901773> <BEA-149205> <Failed to initialize the application 'TestDSLegacyPool' due to error weblogic.application.ModuleException: .
weblogic.application.ModuleException:
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:257)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:239)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.verifyPoolDeployment(DataSourceManager.java:607)
at weblogic.jdbc.common.internal.DataSourceManager.checkDSConfig(DataSourceManager.java:594)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:236)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
++++++++++++++++++++++++++++++++++++++++++++++++++
The configuration files content is :
TestDSLegacyPool-9290-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/910/domain.xsd">
<name>TestDSLegacyPool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>3</value>
</property>
<property>
<name>LegacyPoolName</name>
<value>Beach Brochure Browse Pool</value>
</property>
</internal-properties>
<jdbc-data-source-params>
<jndi-name>beachBrochureBrowseDS</jndi-name>
<global-transactions-protocol>None</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
CP-Beach_Brochure_Browse_Pool-1043-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/910/domain.xsd">
<name>Beach Brochure Browse Pool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>1</value>
</property>
</internal-properties>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@aserver:1522:adb</url>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>gf_user</value>
</property>
<property>
<name>dll</name>
<value>ocijdbc9</value>
</property>
<property>
<name>protocol</name>
<value>thin</value>
</property>
</properties>
<password-encrypted>{3DES}4UT5899x/Z4=</password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>1</initial-capacity>
<max-capacity>3</max-capacity>
</jdbc-connection-pool-params>
</jdbc-data-source>
Would anyone be able to point me in the right direction with this? Configuring the Datasources through the Admin Console creates a single Datasource configuration file that contains its relevent connection pool configuration, but the Weblogic Upgrade wizard creates a Datasource config file and a separate connection pool config file. What would I need to do to use the config files generated by the Weblogic Upgrade wizard?
Any help appreciated
Thanks
AndrewAndrew Harrison wrote:
Previously using Weblogic 6.1 we had a configuration where multiple Datasources used a single
connection pool. Now that we are in the process of upgrading to Weblogic 9.1, we are attempting
to recreate the same configuration.Hi, sorry to say, that is no longer possible:
http://e-docs.bea.com/wls/docs90/jdbc_admin/jdbc_intro.html#1044158
Simplified JDBC Resource Configuration
In WebLogic Server 9.0, the number of JDBC resource types was reduced to simplify JDBC configuration and to reduce the likelihood
of configuration errors. Instead of configuring a JDBC connection pool and then configuring a data source or tx data source to
point to the connection pool and bind to the JNDI tree, you configure a data source that encompasses a connection pool.
Note: Because of the new configuration design, you can no longer have multiple data sources that point to a single connection
pool. Instead, you can create additional data sources, each with its own pool of connections, or you can bind a single data source
to the JNDI tree with multiple names. See Binding a Data Source to the JNDI Tree with Multiple Names for more information.
Joe
>
The Weblogic 9.1 upgrade wizard appears to have created the relevent datasource & connection pool
configuration files but when attempting to use these I am receiving the following errors:
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE]
ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <>
<1170155901758> <BEA-001508> <Destroying Connection Pool TestDSLegacyPool.>
####<30-Jan-2007 11:18:21 o'clock GMT> <Info> <JDBC> <tu0991ws9004> <AdminServer> <[ACTIVE]
ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <>
<1170155901758> <BEA-001155> <The following exception has occurred:
weblogic.common.ResourceException: Unknown Data Source TestDSLegacyPool
at weblogic.jdbc.common.internal.ConnectionPoolManager.shutdownAndDestroyPool(ConnectionPoolManager.java:419)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:251)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
####<30-Jan-2007 11:18:21 o'clock GMT> <Error> <Deployer> <tu0991ws9004> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1170155901773> <BEA-149205> <Failed to initialize the application 'TestDSLegacyPool' due to error weblogic.application.ModuleException: .
weblogic.application.ModuleException:
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:257)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:239)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
weblogic.common.ResourceException: DataSource(TestDSLegacyPool) can't be created with non-existent Pool (connection or multi) (Beach Brochure Browse Pool)
at weblogic.jdbc.common.internal.DataSourceManager.verifyPoolDeployment(DataSourceManager.java:607)
at weblogic.jdbc.common.internal.DataSourceManager.checkDSConfig(DataSourceManager.java:594)
at weblogic.jdbc.common.internal.DataSourceManager.checkDataSource(DataSourceManager.java:236)
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:247)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:620)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:231)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.deploy.internal.targetserver.SystemResourceDeployment.prepare(SystemResourceDeployment.java:65)
at weblogic.management.deploy.internal.DeploymentAdapter$1.prepare(DeploymentAdapter.java:37)
at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:164)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:121)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
++++++++++++++++++++++++++++++++++++++++++++++++++
The configuration files content is :
TestDSLegacyPool-9290-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/910/domain.xsd">
<name>TestDSLegacyPool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>3</value>
</property>
<property>
<name>LegacyPoolName</name>
<value>Beach Brochure Browse Pool</value>
</property>
</internal-properties>
<jdbc-data-source-params>
<jndi-name>beachBrochureBrowseDS</jndi-name>
<global-transactions-protocol>None</global-transactions-protocol>
</jdbc-data-source-params>
</jdbc-data-source>
CP-Beach_Brochure_Browse_Pool-1043-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/910/domain.xsd">
<name>Beach Brochure Browse Pool</name>
<internal-properties>
<property>
<name>LegacyType</name>
<value>1</value>
</property>
</internal-properties>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@aserver:1522:adb</url>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<properties>
<property>
<name>user</name>
<value>gf_user</value>
</property>
<property>
<name>dll</name>
<value>ocijdbc9</value>
</property>
<property>
<name>protocol</name>
<value>thin</value>
</property>
</properties>
<password-encrypted>{3DES}4UT5899x/Z4=</password-encrypted>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>1</initial-capacity>
<max-capacity>3</max-capacity>
</jdbc-connection-pool-params>
</jdbc-data-source>
Would anyone be able to point me in the right direction with this? Configuring the Datasources
through the Admin Console creates a single Datasource configuration file that contains its relevent
connection pool configuration, but the Weblogic Upgrade wizard creates a Datasource config file and
a separate connection pool config file. What would I need to do to use the config files generated
by the Weblogic Upgrade wizard?
Any help appreciated
Thanks
Andrew -
Problem to call a procedure while using External connection pooling in TopL
HI all,
I have implemented external connection pooling in TopLink with JBoss 4.0.3SP1 and it is working fine. But after the connection pooling I am getting error while executing stored procedure with TopLink on Sybase. This is the error I am getting......
Stored procedure 'P_InsReleaseToManufact' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.
I got one solution to this problem as to set a tag in sybase-ds.xml file(which is used in JBoss to enable connection pooling) ..............
<connection-property name="SQLINITSTRING">set chained off</connection-property>
but still it is not working.
Can some one please tell me about the solution.Try
session.getLogin().handleTransactionsManuallyForSybaseJConnect(); -
Websphere Application Server 5.1 Hangs when using Oracle Connection Pool
I have a j2ee application that runs on WAS 5.1 ( IBM JDK 1.4 ) and Oracle 10g 10.2.0 . My customer is doing load testing with 25 virtual users and a connection pool with a max size of 10. When the test starts all 25 users attempt to get a connection, and the first 10 get a connection. At this point the application server hangs with the connection pool in allocation. This is seen in Tivoli. Each thread only needs one connection to process it's request.
I have my own home grown connection pool which when used under this load does not experience and issue. Monitoring from Oracle's admin console I see a max of 10 sessions. The home grows connection pool does not use a WAS DataSource.
I have configured my application to use DB2 with a WAS DataSource and the application server does not hang. Monitoring using Tivoli shows the connection pool going into allocation, but it recovers as is expected.
Are there any known issues with the Oracle JDBC drivers when used with WAS 5.1 DataSources?
Any direction would be helpful, as I currently thing there is an issue with Oracle's Connection Pool and the IBM JVM.
Thanks,
Jjust an attention call: OracleDatasource connection pool does not accept parameters such as removeAbandoned, minEvictableIdleTimeMillis, timeBetweenEvictionRunsMillis, etc, these are specific for the tomcat dbcp implementation (http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html#JDBC_Data_Sources).
For the accepted ones read this http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/concache.htm
Edited by: user7428636 on 24/Jan/2011 6:22 -
HELP:Problem in creating a temporary CLOB using JDBC connection pooling
Hi All,
i am inserting a large xml document in an xml type column by creating a temporary clob of this document
tempClob = CLOB.createTemporary(conn, true, CLOB.DURATION_SESSION);
I am not having any success getting the following statement working using a JDBC connection pool rather than a hard coded URL connection
it works with:
"jdbc:oracle:thin:@server:port:dbname" connection
Does NOT work with:
datasource.getConnection()
Does any one know how to successfully get this to work?
urgently plz........Hi Dharmi
Here is a quote of Dafna's post in [another thread in this forum|Re: Copy VC controls]
CE7.1.1 will be released at September 2008 for ramp-up customers.
There are many improvements and new capabilities in the new release of Visual Composer for CE7.1.1. Among the new features you can find:
The missing features from Visual Composer 7.0 (Html view, portal Eventing support (EPCM), JDBC, Undo/Redo, and more..)
Many layout & modeling improvements
Additional ALV table functionality - export to Excel, switch to chart, configure ALV behavior at design time
Integration of Visual Composer in Eclipse - additional entry point to the Visual Composer models from the NWDS. This integration provides the option to add a WD component (in case of missing functionality in Visual Composer), as a black box component to the Visual Composer model. Right-clicking the component will open the Web Dynpro perspective for creating/modifying the component.
Regards,
Shai -
ClassCastException while asting ResultSet to OracleResultSet. Using weblogic connection pool
Hi,
I am using weblogic server 5.1 and connection pools for accessing Oracle database.
We wanted to use BLOB in oracle and I coded the java class to insert data into BLOB
field.
When I code a sample calss without using weblogic pool, I do not have any problem.
But when I use the weblogic connection pool, I get classcastException as described
below:
I am using
"insert into shipmentCorrection (" + insfields + ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,empty_blob())"
to insert a dummy record with empty_blob and then getting the BLOB locater by the
following code:
java.sql.ResultSet rset = stmt.executeQuery ("SELECT zipped_pdf FROM shipmentCorrection
WHERE shipment_id ='"+ ShipmentId + "' and correction_num ="+ CorrectionNum +" and
Bl_Type = '"+ blType +"'" );
rset.next();
BLOB blob = ((OracleResultSet)rset).getBLOB(1);
java.io.OutputStream outstream = blob.getBinaryOutputStream();
IN the above line of code where I cast the ResultSet to OracleResultSet, I get the
classcastException as follows:
I donno how to solve this problem. Could any one please help me on this ?
java.lang.ClassCastException: weblogic.jdbc.pool.ResultSet
at fmweb.SQL.PdfDataSQL.insertPdfData(PdfDataSQL.java:347)
at fmweb.framework.ShipmentManagerImpl.insertPdfData(ShipmentManagerImpl
.java:2471)
at fmweb.framework.ShipmentManager_WLSkel.invoke(ShipmentManager_WLSkel.
java:1316)
at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerOb
jectAdapter.java:347)
at weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicReques
tHandler.java:69)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:15)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:135)
Thanks,
Muralidaran ChakravarthyWhen using weblogic pool drivers it is not possible to cast to an Oracle
JDBC driver, (or any other driver )
pool driver hides the driver you have configured.
"Muralidaran Chakravarthy" <[email protected]> wrote in message
news:3ce16855$[email protected]..
>
Hi,
I am using weblogic server 5.1 and connection pools for accessing Oracledatabase.
We wanted to use BLOB in oracle and I coded the java class to insert datainto BLOB
field.
When I code a sample calss without using weblogic pool, I do not have anyproblem.
But when I use the weblogic connection pool, I get classcastException asdescribed
below:
I am using
"insert into shipmentCorrection (" + insfields + ") VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,empty_blob())"
>
to insert a dummy record with empty_blob and then getting the BLOB locaterby the
following code:
java.sql.ResultSet rset = stmt.executeQuery ("SELECT zipped_pdf FROMshipmentCorrection
WHERE shipment_id ='"+ ShipmentId + "' and correction_num ="+CorrectionNum +" and
Bl_Type = '"+ blType +"'" );
rset.next();
BLOB blob = ((OracleResultSet)rset).getBLOB(1);
java.io.OutputStream outstream = blob.getBinaryOutputStream();
IN the above line of code where I cast the ResultSet to OracleResultSet, Iget the
classcastException as follows:
I donno how to solve this problem. Could any one please help me on this ?
java.lang.ClassCastException: weblogic.jdbc.pool.ResultSet
at fmweb.SQL.PdfDataSQL.insertPdfData(PdfDataSQL.java:347)
atfmweb.framework.ShipmentManagerImpl.insertPdfData(ShipmentManagerImpl
java:2471)
atfmweb.framework.ShipmentManager_WLSkel.invoke(ShipmentManager_WLSkel.
java:1316)
atweblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerOb
jectAdapter.java:347)
atweblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicReques
tHandler.java:69)
atweblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
java:15)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:135)
Thanks,
Muralidaran Chakravarthy -
How to use my connection pool in multiple servlets?
I now have a functioning connection pool using these lines in a servlet:
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
========================
If I want to create additional servlets in the same web app which query the same database,
do I need to repeat this block of code in every servlet, or can I just put it in one servlet
and have other servlets access it in some way to get a connection? Should I change the code
above from a "private" Connection to a "public" Connection?
An example servlet is shown below. To put my question another way: If I want to
create a second servlet with a different set of queries, would I just make a copy of the first
servlet and then change only the queries, or is there a more efficient way to have multiple
servlets get connections from the pool?
Any suggestions are greatly appreciated.
Thank you.
Logan
************************************servlet example**********************************
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.util.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.Date;
import java.text.*;
import javax.naming.*;
import javax.sql.DataSource;
public class CraigsMain extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
// Process the http Get request
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String sql = "select formtitle from checkboxforms where cbformid = 157";
// error occurs at this line
Connection ocon = getConnection("java:comp/env/jdbc/CraigsList");
PreparedStatement pStmt = ocon.prepareStatement(sql);
ResultSet rs1 = pStmt.executeQuery();
rs1.next();
out.println("<br>" + rs1.getString(1));
rs1.close();
pStmt.close();
ocon.close();
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
=======================================================================sjasja, Thank you for the reply. What you are suggesting is exactly what I have been looking for. But I'm pretty weak on how to make this separate con pool servlet work. My first attempt is shown below. It doesn't compile this line, which is obviously wrong:
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Could you please help me with this servlet code? Thanks.
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class ConPoolInit extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
======================================= -
How can I use the Connection Pool with DB2
Hi All,
I am facing the problem with the usage for the Connection Pool.
I want to use DB2 via JNDI lookup.
But when starting the Weblogic server, Error occured with the following message.
<Error> <JDBC> <Cannot startup connection pool "MyJDBCPool" Cannot load driver class : com.ibm.db2.jdbc.app.DB2Driver>
DB2 and Weblogic are on the same machine.
In case of the use of remote DB2 database, I also encountered the same error.
Configurations are as follows.
<JDBCConnectionPool DriverName="com.ibm.db2.jdbc.app.DB2Driver"
MaxCapacity="10" Name="MyJDBCPool"
Password="{3DES}gCGsOfD9M6iwOtgL2v/NpA==" Targets="myserver"
TestConnectionsOnReserve="false" TestTableName="test" URL="jdbc:db2://localhost:6789/yongjoo"/>
<SNMPAgent Name="mydomain"/>
<JDBCDataSource JNDIName="acsdb" Name="acsdb" PoolName="MyJDBCPool" Targets="myserver"/>
Could you please give some information about this problem? I will appreciate your kindness.Hi Joe,
Thanks your help.
Perhaps It's my fault for Weblogic console's setting.
After I reset the target server in console, Error message disappeared.
But, when I call the TestCode, I encountered another error message. The error
is NameNotFoundException.
When lookingup the JNDI name, NameNotFoundException errer occured. I tried to
change my setting and JNDI name, but the results are the same.
Would you please give me some information about this one more time? I will be
appreciated for your help.
Follows are Config.xml
<JDBCConnectionPool DriverName="com.ibm.db2.jdbc.app.DB2Driver" MaxCapacity="10"
Name="MyJDBCPool" Password="{3DES}gCGsOfD9M6iwOtgL2v/NpA==" Targets="myserver"
TestConnectionsOnReserve="false" TestTableName="test"
URL="jdbc:db2://localhost:6789/yongjoo"/> <SNMPAgent Name="mydomain"/>
<JDBCDataSource JNDIName="acsdb" Name="acsdb" PoolName="MyJDBCPool"
Targets="myserver"/>
and follows are TestCode,
url = "t3://localhost:7001"; //default URL
datasource = "jdbc/acsdb";
Context ctx = null;
Hashtable p = new Hashtable();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, url);
try{
ctx = new InitialContext(p);
System.err.println("initialContext(p)"+ctx); <-- success
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/acsdb");
}catch(NameNotFoundException ne){
throw new ConnectionException(); .
}catch(NamingException ne){
throw new ConnectionException(); -
hi all,
i have some confusion if someone have good suggetions for me.
i make an connection pool class, and in that package and subpackages i have different class files which do interact with DB thus in whole class files i want to use that same connection pool.
would any one tell me which will be best method to do it.
or i have to pass the connection pool to every class object.
ThanksInitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource)initialContext.lookup("connPool");
Connection connection = dataSource.getConnection();You need to do a JNDI lookup for the DataSource and getConnection() from that.
***Annie***
Maybe you are looking for
-
USB-6009, mac OS 10.6.8 and python
Hello! I am using USB-6009 under mac OS 10.6.8 and python. I am trying to run the following commmand: analogOutputTask = nidaqmx.AnalogOutputTask(name='MyAOTask') I get the following message File "/Applications/PsychoPy2.app/Contents/Resources/lib/py
-
How to reset my apple security code
Can any one tell me how to reset my security code in iTunes
-
Query a date in a varchar field
I am trying to do a simple query... Count the number of records in a particular month... I use variables in the URL and use this query (in MSSQL) SELECT recorddate FROM sometable WHERE Year(recorddate) LIKE '#Url.year#' AND Month(recorddate) LIKE '#U
-
Do we need the weblogic server to be up and running for running the process in simulation mode in Oracle BPM 11g? I have created a process using JDeveloper and trying to run using simulations.The execute buttonm is disabled in simulations view. So do
-
I just purchased a new Airport Time Capsule, but I cannot find a way to put it into bridge mode, which when purchasing I was told would be an option to extend the range of my existing router. When first setting up, I see the option to use it for exte