Dynamic connection pooling
Hi!
Is there a way I can create a dynamic connection pool and associate it to a
DataSource using weblogic. I know I can't create a datasource dynamically,
so are there any work arounds to bind the dynamically created connection
pool to configured datasource.
thanks, Srinivas
Kevin,
In short, I don't think so.
John
Similar Messages
-
Dynamic Connection Pool Creation Failing in a cluster
Hi,
I am trying to create a connection pool in a clustered environment. This connection
pool is created lazily behind a Stateless Session Bean. We first attempt to determine
whether, the connection pool exists using JdbcServices.poolExists(someName), and
create it if it does not exist. A failure occurs on creation because it looks
like the connection pool might have been created by a bean on a different weblogic
VM instance. Is there any way to dynamically create a connection pool and make
it visible to the whole cluster? Thanks in advance for any help. Michael Dolbear
Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence of connection pool
Content
ConnectionPool requested by user guest>
<Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection pool ContentConnectionPoo
l requested by user guest>
weblogic.common.ResourceException: weblogic.management.MBeanCreationException:
Start server side stack trace:
javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
2352)
at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
verImpl.java:181)
at weblogic.management.internal.Helper.createMBean(Helper.java:376)
at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
ServerImpl.java:278)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
635)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
621)
at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
Impl.java:397)
at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.management.MBeanCreationException: - with nested exception:
[javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool]
at weblogic.management.internal.Helper.createMBean(Helper.java:383)
at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
ServerImpl.java:278)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
635)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
621)
at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
Impl.java:397)
at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool
Start server side stack trace:
javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
2352)
at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
verImpl.java:181)
at weblogic.management.internal.Helper.createMBean(Helper.java:376)
at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
ServerImpl.java:278)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
635)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
621)
at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
Impl.java:397)
at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
at weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.java:47
2)
at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:727
at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:709
at com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.createConne
ctionPool(ConnectionPoolCreator.java:82)
at com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnectionPoo
lIfNonExistent(DataStoreRepository.java:211)
at com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createConnec
tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.create
ConnectionPoolIfNeeded(Unknown Source)
at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.getIma
ge(Unknown Source)
at com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unknown
Source)
at java.lang.reflect.Method.invoke(Native Method)
at com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescriptio
n.java:181)
at com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.java:7
9)
at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.java:
186)
at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invoke(Ser
viceBean_bjedmi_EOImpl.java:37)
at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSkel.inv
oke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
<Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence of connection
pool Content
ConnectionPool requested by user guest>
<Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection pool ContentConnectionPoo
l requested by user guest>
weblogic.common.ResourceException: weblogic.management.MBeanCreationException:
Start server side stack trace:
javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
2352)
at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
verImpl.java:181)
at weblogic.management.internal.Helper.createMBean(Helper.java:376)
at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
ServerImpl.java:278)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
635)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
621)
at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
Impl.java:397)
at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.management.MBeanCreationException: - with nested exception:
[javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool]
at weblogic.management.internal.Helper.createMBean(Helper.java:383)
at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
ServerImpl.java:278)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
635)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
621)
at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
Impl.java:397)
at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool
Start server side stack trace:
javax.management.InstanceAlreadyExistsException: domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:
2352)
at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:874)
at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanSer
verImpl.java:181)
at weblogic.management.internal.Helper.createMBean(Helper.java:376)
at weblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(RemoteMBean
ServerImpl.java:278)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
635)
at weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.java:
621)
at weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBeanHome
Impl.java:397)
at weblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
at weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.java:47
2)
at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:727
at weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.java:709
at com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.createConne
ctionPool(ConnectionPoolCreator.java:82)
at com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnectionPoo
lIfNonExistent(DataStoreRepository.java:211)
at com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createConnec
tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.create
ConnectionPoolIfNeeded(Unknown Source)
at com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.getIma
ge(Unknown Source)
at com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unknown
Source)
at java.lang.reflect.Method.invoke(Native Method)
at com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescriptio
n.java:181)
at com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.java:7
9)
at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.java:
186)
at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invoke(Ser
viceBean_bjedmi_EOImpl.java:37)
at com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSkel.inv
oke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)The only way to do it is using MBeans. You could search this newsgroup
for "JDBCConnectionPoolMBean" to get an idea of how it could be done.
Slava
P.S. http://search.bea.com/weblogic/gonews
"Mark Mortensen" <[email protected]> wrote in message
news:[email protected]...
>
Slava,
I am working with Mike on this issue and wanted to add some moreclarifications.
We have a two server cluster where one of the EJB's on one of the Managedservers
creates the connection pool. The problem comes in when a request comes tothe
second server in the cluster. The connection pool is created by the firstserver
but it is only assigned to the first server in the targets section on theconsole.
It isn't assigned to the cluster. Is there a way to programmaticallyassign the
pool to the cluster instead of just the server that created the pool?
-Mark
"Michael Dolear" <[email protected]> wrote:
Hi Slava,
Here is what I am doing. The code is spread across a couple of classes.
I am using
what was described in BEA's doc on dynamic connection pool creation.
I didn't
see anything about MBean apis required:
* Dynamically create a connection pool using
aConnectionPoolProperties.
Please
see ConnectionPoolCreator
* for the required properties that must be sent in.
* @param aConnectionPoolProperties
public synchronized void createConnectionPoolIfNonExistent(Properties
aConnectionPoolProperties)
throwsPersistenceFrameworkInitializationException
ConnectionPoolCreator tempPoolCreator;
Pool tempPool;
tempPoolCreator = new ConnectionPoolCreator();
tempPool =tempPoolCreator.getConnectionPool(aConnectionPoolProperties);
if (tempPool == null)
tempPoolCreator.createConnectionPool(aConnectionPoolProperties);
>>
* Create Connection pool given the properties that I have beenconfigured
with
* @return Pool
public Pool createConnectionPool(Properties aConnectionProperties)
throwsPersistenceFrameworkInitializationException
JdbcServices tempServices;
try
tempServices = this.lookupJdbcServices();
tempServices.createPool(aConnectionProperties);
returntempServices.getPool(aConnectionProperties.getProperty(CONNECTION_POOL_NAME)
catch (Exception e)
PersistenceFrameworkUtils.logException(e);
throw newPersistenceFrameworkInitializationException(e.getMessage());
* Answer a connectionPool or null.
* @return Pool
public Pool getConnectionPool(Properties aConnectionProperties)
throwsPersistenceFrameworkInitializationException
JdbcServices tempServices;
try
tempServices = this.lookupJdbcServices();
if (tempServices.poolExists(
aConnectionProperties.getProperty(CONNECTION_POOL_NAME)))
return tempServices.getPool(
aConnectionProperties.getProperty(CONNECTION_POOL_NAME));
else
return null;
catch (Exception e)
PersistenceFrameworkUtils.logException(e);
throw
newPersistenceFrameworkInitializationException(e.getMessage());
"Slava Imeshev" <[email protected]> wrote:
Hi Michael,
Could you show us the code? Without looking at the code
I can only say that JdbcServices.poolExists(someName)
returns true only in case the pool is up and running.
If the connection pool MBean was created but not assigned
a target, subsequent tries to create it would fail.
Regards,
Slava Imeshev
"Michael Dolbear" <[email protected]> wrote in message
news:[email protected]...
Hi,
I am trying to create a connection pool in a clustered environment.This
connection
pool is created lazily behind a Stateless Session Bean. We first
attempt
to determine
whether, the connection pool exists usingJdbcServices.poolExists(someName), and
create it if it does not exist. A failure occurs on creation becauseit
looks
like the connection pool might have been created by a bean on a
different
weblogic
VM instance. Is there any way to dynamically create a connection pooland
make
it visible to the whole cluster? Thanks in advance for any help.
Michael
Dolbear
Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence ofconnection pool
Content
ConnectionPool requested by user guest>
<Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection poolContentConnectionPoo
l requested by user guest>
weblogic.common.ResourceException:weblogic.management.MBeanCreationException:
Start server side stack trace:
javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at
com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
34
at
com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
ja
va:
2352)
at
com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
87
4)
at
weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
an
Ser
verImpl.java:181)
atweblogic.management.internal.Helper.createMBean(Helper.java:376)
atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at
weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
MB
ean
ServerImpl.java:278)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
635)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
621)
at
weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
nH
ome
Impl.java:397)
atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.management.MBeanCreationException: - with nested exception:
[javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool]
atweblogic.management.internal.Helper.createMBean(Helper.java:383)
atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at
weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
MB
ean
ServerImpl.java:278)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
635)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
621)
at
weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
nH
ome
Impl.java:397)
atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool
Start server side stack trace:
javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at
com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
34
at
com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
ja
va:
2352)
at
com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
87
4)
at
weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
an
Ser
verImpl.java:181)
atweblogic.management.internal.Helper.createMBean(Helper.java:376)
atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at
weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
MB
ean
ServerImpl.java:278)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
635)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
621)
at
weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
nH
ome
Impl.java:397)
atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
at
weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.ja
va
:47
2)
at
weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
a:
727
at
weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
a:
709
at
com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.create
Co
nne
ctionPool(ConnectionPoolCreator.java:82)
at
com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnecti
on
Poo
lIfNonExistent(DataStoreRepository.java:211)
at
com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createC
on
nec
tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
at
com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.c
re
ate
ConnectionPoolIfNeeded(Unknown Source)
at
com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.g
et
Ima
ge(Unknown Source)
at
com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unk
no
wn
Source)
at java.lang.reflect.Method.invoke(Native Method)
at
com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescr
ip
tio
n.java:181)
at
com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.j
av
a:7
9)
at
com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.
ja
va:
186)
at
com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invok
e(
Ser
viceBean_bjedmi_EOImpl.java:37)
at
com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSke
l.
inv
oke(Unknown Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.ja
va
:93
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
<Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Checking existence ofconnection
pool Content
ConnectionPool requested by user guest>
<Mar 28, 2002 5:35:08 PM MST> <Info> <JDBC> <Creating connection poolContentConnectionPoo
l requested by user guest>
weblogic.common.ResourceException:weblogic.management.MBeanCreationException:
Start server side stack trace:
javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at
com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
34
at
com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
ja
va:
2352)
at
com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
87
4)
at
weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
an
Ser
verImpl.java:181)
atweblogic.management.internal.Helper.createMBean(Helper.java:376)
atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at
weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
MB
ean
ServerImpl.java:278)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
635)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
621)
at
weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
nH
ome
Impl.java:397)
atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.management.MBeanCreationException: - with nested exception:
[javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool]
atweblogic.management.internal.Helper.createMBean(Helper.java:383)
atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at
weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
MB
ean
ServerImpl.java:278)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
635)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
621)
at
weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
nH
ome
Impl.java:397)
atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=J
DBCConnectionPool
Start server side stack trace:
javax.management.InstanceAlreadyExistsException:domain:Name=ContentConnectionPool,Type=JD
BCConnectionPool
at
com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:1
34
at
com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.
ja
va:
2352)
at
com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:
87
4)
at
weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBe
an
Ser
verImpl.java:181)
atweblogic.management.internal.Helper.createMBean(Helper.java:376)
atweblogic.management.internal.Helper.createAdminMBean(Helper.java:291)
at
weblogic.management.internal.RemoteMBeanServerImpl.createAdminMBean(Remote
MB
ean
ServerImpl.java:278)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
635)
at
weblogic.management.internal.MBeanHomeImpl.createAdminMBean(MBeanHomeImpl.
ja
va:
621)
at
weblogic.management.internal.AdminMBeanHomeImpl.createAdminMBean(AdminMBea
nH
ome
Impl.java:397)
atweblogic.management.internal.AdminMBeanHomeImpl_WLSkel.invoke(Unknown
Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
at
weblogic.jdbc.common.internal.ConnectionPool.dynaStartup(ConnectionPool.ja
va
:47
2)
at
weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
a:
727
at
weblogic.jdbc.common.internal.ConnectionPool.createPool(ConnectionPool.jav
a:
709
at
com.thc.ids.inf.framework.opf.rdbms.datastore.ConnectionPoolCreator.create
Co
nne
ctionPool(ConnectionPoolCreator.java:82)
at
com.thc.ids.inf.framework.opf.datastore.DataStoreRepository.createConnecti
on
Poo
lIfNonExistent(DataStoreRepository.java:211)
at
com.thc.ids.inf.util.persistence.content.ConnectionPoolInitializer.createC
on
nec
tionPoolIfNeeded(ConnectionPoolInitializer.java:48)
at
com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.c
re
ate
ConnectionPoolIfNeeded(Unknown Source)
at
com.thc.ids.inf.services.business.crs.spi.oracle.OracleRetrievalProvider.g
et
Ima
ge(Unknown Source)
at
com.thc.ids.inf.services.business.crs.ContentRetrievalService.getImage(Unk
no
wn
Source)
at java.lang.reflect.Method.invoke(Native Method)
at
com.thc.ids.inf.util.reflection.MethodDescription.invokeMethod(MethodDescr
ip
tio
n.java:181)
at
com.thc.ids.inf.util.reflection.MethodInvocation.invoke(MethodInvocation.j
av
a:7
9)
at
com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean.invoke(ServiceBean.
ja
va:
186)
at
com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl.invok
e(
Ser
viceBean_bjedmi_EOImpl.java:37)
at
com.thc.ids.inf.framework.service.J2EE.ejb.ServiceBean_bjedmi_EOImpl_WLSke
l.
inv
oke(Unknown Source)
atweblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.ja
va
:93
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java
:2
2)
at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120) -
Dynamic Connection Pool fails in WLS 6.1
Hi all,
I am trying to create the connection pool dynamically but it fails saying " Error
to load the Driver"
Snippet Code --
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
// URL for the WebLogic Server
env.put(Context.PROVIDER_URL, "t3://localhost:7001");
env.put(Context.SECURITY_PRINCIPAL, "Fred");
env.put(Context.SECURITY_CREDENTIALS, "secret");
Context ctx = new InitialContext(env);
// Look up weblogic.jdbc.JdbcServices
weblogic.jdbc.common.JdbcServices jdbc =
(weblogic.jdbc.common.JdbcServices)
ctx.lookup("weblogic.jdbc.JdbcServices");
String thePoolName = "eng2";
Properties poolProps = null;
Pool myPool = null;
weblogic.jdbc.common.Pool pool = null
poolProps = new Properties();
// Set properties for the ConnectionPool.
poolProps.put("poolName", thePoolName);
poolProps.put("url", "jdbc:weblogic:demo");
poolProps.put("driver", "COM.cloudscape.core.JDBCDriver");
poolProps.put("props", "user=scott;password=tiger;server=demo");
poolProps.put("initialCapacity", "1");
poolProps.put("maxCapacity", "10");
poolProps.put("capacityIncrement", "1");
poolProps.put("aclName", "dynapool");
poolProps.put("allowShrinking", "true");
poolProps.put("shrinkPeriodMins", "5");
poolProps.put("refreshPeriod", "10");
poolProps.put("testConnOnReserve", "true");
poolProps.put("testConnOnRelease", "false");
poolProps.put("testTableName", "dual");
poolProps.put("loginDelaySecs", "1");
// create our pool
try {
myJdbc.createPool(poolProps);
} catch (Exception e) {
System.out.println(thePoolName
+ " can't be created ..");
System.exit(666);
Any Help will be appreciated in creating the dynamic connection pool in WLS 6.1 SP2
Regards,
BalaBala wrote:
Hi joe,
Any how let me want to create the Connections Pool Dynamically in WLS 6.1 .Pls
give some ideas / ways to proceeed further
Thx
BalaFirst I need the answer to my question:
Hi. Can the same pool be created as a startup pool?
(Ie: does it succeed?)
Joelet me know...
Joe
>
>>
Bala wrote:
Hi all,
I am trying to create the connection pool dynamically but it fails saying" Error
to load the Driver"
Snippet Code --
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
// URL for the WebLogic Server
env.put(Context.PROVIDER_URL, "t3://localhost:7001");
env.put(Context.SECURITY_PRINCIPAL, "Fred");
env.put(Context.SECURITY_CREDENTIALS, "secret");
Context ctx = new InitialContext(env);
// Look up weblogic.jdbc.JdbcServices
weblogic.jdbc.common.JdbcServices jdbc =
(weblogic.jdbc.common.JdbcServices)
ctx.lookup("weblogic.jdbc.JdbcServices");
String thePoolName = "eng2";
Properties poolProps = null;
Pool myPool = null;
weblogic.jdbc.common.Pool pool = null
poolProps = new Properties();
// Set properties for the ConnectionPool.
poolProps.put("poolName", thePoolName);
poolProps.put("url", "jdbc:weblogic:demo");
poolProps.put("driver", "COM.cloudscape.core.JDBCDriver");
poolProps.put("props", "user=scott;password=tiger;server=demo");
poolProps.put("initialCapacity", "1");
poolProps.put("maxCapacity", "10");
poolProps.put("capacityIncrement", "1");
poolProps.put("aclName", "dynapool");
poolProps.put("allowShrinking", "true");
poolProps.put("shrinkPeriodMins", "5");
poolProps.put("refreshPeriod", "10");
poolProps.put("testConnOnReserve", "true");
poolProps.put("testConnOnRelease", "false");
poolProps.put("testTableName", "dual");
poolProps.put("loginDelaySecs", "1");
// create our pool
try {
myJdbc.createPool(poolProps);
} catch (Exception e) {
System.out.println(thePoolName
+ " can't be created ..");
System.exit(666);
Any Help will be appreciated in creating the dynamic connection pool inWLS 6.1 SP2
Regards,
Bala -
Creagting connection pools dynamically and bind with TxDataSource
Hi!
Is there a way I can create a dynamic connection pool and associate it to a DataSource
using weblogic. I know I can't create a datasource dynamically, so are there
any work arounds to bind the dynamically created connection pool to configured
datasource.
thanks,
Srinivas
Ken Yeung wrote:
My application is required to support many different connections to different databases. I'll need to setup potentially hundreds of connection pools (and associated datasources). I was thinking of creating them dynamically through the app as needed.. but, wondering if I can get a way with creating all of them upfront (and setting the initial connections to 0). This way I can set all the database properties via WL console instead of hardcoding in the appl. I would like to know if there's a significant cost to creating datasources and connections pools upfront (even though they're initially not used). Please let me know how you would approach this. thanks.You can certainly create them ahead of time. No significant overhead from simply having
the pools. However, if you set them up to do periodic refresh they will involve some cycles. -
Creating dynamic jdbc pools in WLS 5.10
Looking for pointers and/or sample code for creating dynamic connection pool using weblogic 5.10 SP9.
We are using oracle jdbc thin drivershttp://www.weblogic.com/docs51/classdocs/conn_pools.html#638923
Mehul Parikh wrote:
Looking for pointers and/or sample code for creating dynamic connection pool using weblogic 5.10 SP9.
We are using oracle jdbc thin drivers -
How dynamically create connection pool and Datasource
Hi
How I can dynamically create a connection pool and Data source in Oracle 10g Application server. In our J2EE application the user will be login with db user name, password and database name. I want to create connection pool and data source on the fly while login the user with database name. I our application we have access approximate 80 Databases. so my approach is given bellow
1) Planning to create 80 connection pools and 80 Data sources so when user logs in while selecting the db name i will call the appropriate data source and create the DB connection. Is there any limitation to create number of data sources in oracle app server?
2) Create DB connection with out using connection pool and data source. But i am not prefer this approach coz we need to handle some transaction in our application.
Kindly throw some light on managing connection pool programmatically or in application run time.
I would really appreciate if any one can provide any links or any inormation on this issue.
Thanks in advance.Kindly let me know is there any drawbacks to create 80 Data Sources to connect 80 database in Oracle 10G App server and each data sources should have one connection pool. so i need to create 80 connection pool. Please let me know is this right approach or any work around to create Data source on fly for each request for corresponding database.
-
How to dynamically validate users at run time using connection pools ?
Hi Folks
We are facing a peculiar situation . We have established connection to our
oracle 8i database using Oracle Thin driver using conenction pooling at the weblogic
server . We set up connection pools at the console to set up connections to thge
oracle 8i database. However the user name and password is always static when
we create the connection pool at the console .
How do i dynamically validate other users using the same connection pool ??
Eg - The connection pool at design time in the console uses user A and password
- passA . Now at run time lets say I prompt the user for a login screen and want
to trap the user id and apssword parameters entered by the user and use it with
the connection pool created earlier . I tried using the below code snippet :-
Properties props = new Properties();
props.put("connectionPoolID", "Oracle_Thin_Driver_Pool");
props.put("user" , userId );
props.put("password",userPass);
myDriver = (Driver) Class.forName("weblogic.jdbc.pool.Driver").newInstance();
conn = myDriver.connect("jdbc:weblogic:pool", props);
But always it connects to the database using the userid and password set in the
console while creating the connection pool . So how i get the connection pool
to validate my current userid and password entered through the login screen ??
Thanks in advance
KeithHey Bob.
So I assume you're -completely- working with built executables? You're not going to work in the editor environment to modify your projects at all?
If this is the case, then having a generic deployment phase at the beginning of the executable (with a "setting up hardware for your app" splash screen) isn't a bad idea -
Check the binary on the target, ensure it matches the binary you have on the host machine (in case you ever decide to update).
If they don't match, FTP the new file down to replace the old one.
FTP the ni-rt.ini file, ensure the startup exe is enabled and is pointing to the correct location.
If it's not enabled or not pointing to the correct startup file, modify the .INI file and FTP back to the target.
If you had to update the INI file, ask target to reboot itself. Wait 30 seconds, and wait for target to become available again.
Connect to the target. If you cannot connect, reboot target. If the target comes back and you still cannot connect to the app, notify user.
That's almost exactly how we handle installation and deployment via MAX.
The big assumption here is that the built executables were all built with the same version of LabVIEW Real-Time. If not, you'd need a system replication step in there to make sure the proper version of LabVIEW is on the target before launching the built .rtexe.
-Danny -
How can I switch the connection pool dynamically during on load happens
HI,
I have two data bases which holds same data. i.e Prod_db, Prod_db1,
I want to switch the connection pool dynamically during load happens
Ex: During load happens i want to hit prod_db1, after load completes i want to hit prod_db. How to achieve this.create dynamic repository variable for DSN using init block so that value is changes based on your timings and use this in connection pool.
If you use same user and passwords for both the databases that would be easy or else need to follow the same for uid and pwd.
That should work, if not update.
If helps pls mark correct/helpful -
What ACLs need to be defined to dynamically create connection pools?
Hi,
What ACLs do I need to define in order to dynamically (i.e. programatically)
create connection pools? I've spent several hours reading doc
and searching on the web but found nothing.
I have defined the following:
weblogic.allow.admin.weblogic.jdbc.connectionPoolcreate=someId
But I still get the following exception when I try to invoke jdbc.createPool(aWeblogicPoolProperties);//jdbc
is an instance of weblogic.jdbc.common.JdbcServices:
java.lang.SecurityException: User "guest" does not have Permission
"modify" based on ACL "weblogic.jndi.weblogic.jdbc.connectionPool"
Can someone PLEASE list the ACLs I'd need to define for this to
work?
Thanks much,
AndrewI'd like to know the answer to your question as well.
On page 4-7 of the Programming WebLogic JDBC, the manual says to "modify the following
ACLs to set up security configuration that supports the dynamic creation of connection
pools.
* acl.admin.dynapool
* acl.admin.weblogic.jdbc.connectionPoolcreate
* acl.modify.weblogic.jndi.weblogic.jdbc.connectionPool
* acl.lookup.weblogic.jndi.weblogic.jdbc.connectionPool
* acl.reserve.dynapool"
These ACL's are not in my ACL list on my WLS6.1. So how can I modify these when
they don't exist for me?
thanks,
Dennis
"Andrew" <[email protected]> wrote:
>
Hi,
What ACLs do I need to define in order to dynamically (i.e. programatically)
create connection pools? I've spent several hours reading doc
and searching on the web but found nothing.
I have defined the following:
weblogic.allow.admin.weblogic.jdbc.connectionPoolcreate=someId
But I still get the following exception when I try to invoke jdbc.createPool(aWeblogicPoolProperties);//jdbc
is an instance of weblogic.jdbc.common.JdbcServices:
java.lang.SecurityException: User "guest" does not have Permission
"modify" based on ACL "weblogic.jndi.weblogic.jdbc.connectionPool"
Can someone PLEASE list the ACLs I'd need to define for this to
work?
Thanks much,
Andrew -
Hi, can anyone advise as to whether my tag library code (based
on Apache Jakarta Project) will actually achieve connection
pooling functionality across my entire JSP based application? I
am slightly concerned that my OracleConnectionCacheImpl object
may exist multiple times, hence rendering my conection pooling
attempt useless.
package com.solved.tag.dbtags.connection;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspTagException;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import oracle.jdbc.pool.OracleConnectionCacheImpl;
* <p>JSP tag connection, used to get a
* java.sql.Connection object.</p>
* <p>JSP Tag Lib Descriptor
* <pre>
* <name>connection</name>
<tagclass>com.solved.tag.dbtags.connection.ConnectionTag</t
agclass>
* <bodycontent>JSP</bodycontent>
<teiclass>com.solved.tag.dbtags.connection.ConnectionTEI</t
eiclass>
* <info>Opens a connection based on a jndiName.</info>
* <attribute>
* <name>id</name>
* <required>true</required>
* <rtexprvalue>false</rtexprvalue>
* </attribute>
* </pre>
* @author Matt Shannon
public class ConnectionTag extends TagSupport {
static private OracleConnectionCacheImpl cache = null;
public int doStartTag() throws JspTagException {
try {
Connection conn = null;
if (cache == null) {
try {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup
("jdbc/pool/OracleCache");
cache = (OracleConnectionCacheImpl)ds;
catch (NamingException ne) {
throw new JspTagException(ne.toString());
conn = cache.getConnection();
pageContext.setAttribute(getId(),conn);
catch (SQLException e) {
throw new JspTagException(e.toString());
return EVAL_BODY_INCLUDE;
package com.solved.tag.dbtags.connection;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.jsp.tagext.TagSupport;
* <p>JSP tag closeconnection, used to close the
* specified java.sql.Connection.<p>
* <p>JSP Tag Lib Descriptor
* <pre>
* <name>closeConnection</name>
<tagclass>com.solved.tag.dbtags.connection.CloseConnectionTag&
lt;/tagclass>
* <bodycontent>empty</bodycontent>
* <info>Close the specified connection. The "conn"
attribute is the name of a
* connection object in the page context.</info>
* <attribute>
* <name>conn</name>
* <required>true</required>
* <rtexprvalue>false</rtexprvalue>
* </attribute>
* </pre>
* @author Matt Shannon
* @see ConnectionTag
public class CloseConnectionTag extends TagSupport {
private String _connId = null;
* The "conn" attribute is the name of a
* page context object containing a
* java.sql.Connection.
* @param connectionId
* attribute name of the java.sql.Connection to
close.
* @see ConnectionTag
public void setConn(String connectionId) {
_connId = connectionId;
public int doStartTag() {
try {
Connection conn = (Connection)pageContext.getAttribute
(_connId);
conn.close();
} catch (SQLException e) {
// failing to close a connection is not fatal
e.printStackTrace();
return EVAL_BODY_INCLUDE;
public void release() {
_connId = null;
package com.solved.tag.dbtags.connection;
import javax.servlet.jsp.tagext.TagData;
import javax.servlet.jsp.tagext.TagExtraInfo;
import javax.servlet.jsp.tagext.VariableInfo;
* TagExtraInfo for the connection tag. This
* TagExtraInfo specifies that the ConnectionTag
* assigns a java.sql.Connection object to the
* "id" attribute at the end tag.
* @author Matt Shannon
* @see ConnectionTag
public class ConnectionTEI extends TagExtraInfo {
public final VariableInfo[] getVariableInfo(TagData data)
return new VariableInfo[]
new VariableInfo(
data.getAttributeString("id"),
"java.sql.Connection",
true,
VariableInfo.AT_END
data-sources.xml:
<?xml version="1.0"?>
<!DOCTYPE data-sources PUBLIC "Orion data-
sources" "http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
<data-sources>
<data-source
class="oracle.jdbc.pool.OracleConnectionCacheImpl"
name="jdbc/pool/OracleCache"
location="jdbc/pool/OracleCache"
url="jdbc:oracle:thin:@oracle1:1521:pdev"
>
<property name="maxLimit" value="15" />
<property name="cacheScheme" value="2" />
<property name="user" value="console" />
<property name="password" value="console" />
<description>
This DataSource is using an Oracle-native DataSource Class so as
to allow Oracle Specific extensions.
A getConnection() call on this DataSource will return
oracle.jdbc.driver.OracleConnection.
The connection returned is a logical connection.
The caching scheme in place is Fixed Wait. Refer below to
possible values.
Dynamic 1
Fixed Wait 2
Fixed Return Null 3
</description>
</data-source>
</data-sources>
many thanks,
Matt.Hi. Show me your pool definition.
Joe
Ramamurthy wrote:
I am using the jsp custom tag library from BEA called sqltags.tld which came with Weblogic 5.1. Currently I am using Weblogic6.1 sp2 on Solaris.
I have created a Connection Pool for Sybase database using the driver com.sybase.jdbc.SybDriver.
When I created jsp page to connect to the connection pool using sqltags custom tag library, I am getting the error
"javax.servlet.jsp.JspException: Failed to write body content
at weblogic.taglib.sql.ConnectionTag.doAfterBody(ConnectionTag.java:43)
at jsp_servlet.__hubwcdata._jspService(__sampletest.java:1014)"
After this message, whenever I try to access the same jsp page I am getting the message
"javax.servlet.jsp.JspException: Failed to load JDBC driver: weblogic.jdbc.pool.D
river
at weblogic.taglib.sql.ConnectionTag.doStartTag(ConnectionTag.java:34)
at jsp_servlet.__hubwcdata._jspService(__sampletest.java:205)".
Can you please help me the reason why this problem is happening and how to fix this ?
This problem doexn't happen consistently. This occurs once in a while.
I tried to increase Login delay Seconds parameter in the Connection Pool to 15 sec. It didn't help me much.
Thanks for your help !!!
Ram -
Questions on Connection Pooling
I already read the documentations on data-sources.xml, but I still have questions. In the following data-sources.xml (for OC4J 9.0.3):
<data-source
class="com.evermind.sql.ConnectionDataSource"
name="ccf"
location="jdbc/ccf"
xa-location="jdbc/xa/ccf"
ejb-location="jdbc/ccfPool"
url="jdbc:oracle:thin:@erb:1521:prod"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="scott"
password="tiger"
max-connections="300"
min-connections="5"
max-connect-attempts="10"
connection-retry-interval="1"
inactivity-timeout="30"
wait-timeout="30"
/>
I know that if we want to use a connection pool, we should use "ejb-location" and it is the only one used for emulated data sources. I also know that both "location" and "xa-connection" are used for non-emulated data sources.
Then my questions are:
1) Does non-emulated data source mean that it can not used for connection pooling? In other words, both "location" and "xa-location" can not be used for connection pooling? The only one that can be used for connection pooling is "ejb-location"?
2) How can I use a non-pooled connection? right now, I am using "location" for non-connnection pooling, is this the right way to do it? The documentation says that it will be deprecated in future release, then what should I use if I want a non-pooled connection? can I still use "ejb-location" by setting "min-connections" and "max-connections" to 1? This is assuming that we can NOT use "location" to get the data source.
3) Putting the username and password in the data-sources.xml seems not be good from the security point of view. But, if I am using CMP, I must supply the username and password in the data-sources.xml. Is there another way around this?
Thank you very much for the help in advance.
JingzhiLiu
I may not answer all ur questions.But would like to share my experiences....
3) U can set the username and password dynamically also...we use it in orion..so u should be able to use it in oc4j..as a matter of fact, we can set all the data-sources parameters dynamically(programmatically).
1) I may not be correct 100 percent with this :but for pooling only ejb-location is used and for non pooling location is used.
For non pooled connections also, use ejb-location and dont give any max and min connections..let it take the default values...
I am not aware that Oracle is going to deprecate the location ..well it is good to hear this which will reduce some confusion..
seems there is lot being raised on these topics..
yugandhar -
Problem with JNDI/LDAP AND connection pool
I'm a newbie to Java but am attempting to write a servlet that retrieves info use to populate the contents of drop down menus. I'd like to only have to do this once. The servlet also retrieves other data (e.g. user profile info, etc ...). I'd like to be able to use the connection pool for all of these operations but I'm getting a compile error:
public class WhitePages extends HttpServlet {
ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
public static String m_servletPath = null;
public static String cattrs = null;
public static String guidesearchlist[] = {};
public static int isLocalAddr = 0;
private int aeCtr;
private String[] sgDNArray;
private HashMap sgDN2DNLabel = new HashMap();
private HashMap sgDN2SearchGuide = new HashMap();
private String strport;
private int ldapport;
private String ldaphost;
private String ldapbinddn;
private String ldapbindpw;
private String ldapbasedn;
private int maxsearchcontainers;
private int maxsearchkeys;
private String guidesearchbases;
private String guidecontainerclass;
private String strlocaladdr;
private String providerurl;
// my init method establishes the connection
// pool and then retrieve menu data
public void init(ServletConfig config) throws ServletException {
super.init(config);
String strport = config.getInitParameter("ldapport");
ldapport = Integer.parseInt(strport);
String strconts = config.getInitParameter("maxsearchcontainers");
maxsearchcontainers = Integer.parseInt(strconts);
String strkeys = config.getInitParameter("maxsearchkeys");
maxsearchkeys = Integer.parseInt(strkeys);
ldaphost = config.getInitParameter("ldaphost");
ldapbinddn = config.getInitParameter("ldapbinddn");
ldapbindpw = config.getInitParameter("ldapbindpw");
ldapbasedn = config.getInitParameter("ldapbasedn");
guidesearchbases = config.getInitParameter("guidesearchbases");
guidecontainerclass = config.getInitParameter("guidecontainerclass");
strlocaladdr = config.getInitParameter("localaddrs");
providerurl = "ldap://" + ldaphost + ":" + ldapport;
/* Set up environment for creating initial context */
Hashtable env = new Hashtable(11);
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, providerurl.toString());
/* Enable connection pooling */
env.put("com.sun.jndi.ldap.connect.pool", "true");
StringTokenizer st = new StringTokenizer(guidesearchbases, ":" );
String guidesearchlist[] = new String[st.countTokens()];
for ( int i = 0; i < guidesearchlist.length; i++ ) {
guidesearchlist[i] = st.nextToken();
// Get a connection from the connection pool
// and retrieve the searchguides
StringBuffer asm = new StringBuffer(""); // This is the advanced search menu htmlobject buffer
StringBuffer strtmpbuf = new StringBuffer(""); // This is the simple search menu htmlobject buffer
try {
StringBuffer filter = new StringBuffer("");
filter.append("(objectclass=" + guidecontainerclass + ")");
String[] attrList = {"dn","cn","searchguide"};
SearchControls ctls = new SearchControls();
ctls.setReturningAttributes(attrList);
ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String attrlabelkey;
sgDNArray = new String[guidesearchlist.length];
for( int i = 0; i < guidesearchlist.length; i++ ) {
// Search each of the namingspaces where
// searchguides exist then build
// the dynamic menus from the result
DirContext ctx = new InitialDirContext(env);
NamingEnumeration results = ctx.search(guidesearchlist, filter, ctls);
I get a compile error:
WhitePages.java:164: cannot resolve symbol
symbol : method search (java.lang.String,java.lang.StringBuffer,javax.naming.directory.SearchControls)
location: interface javax.naming.directory.DirContext
NamingEnumeration results = ctx.search(guidesearchlist[i], filter, ctls);
^
WhitePages.java:225: cannot resolve symbol
symbol : variable ctx
location: class OpenDirectory
ctx.close();
^
Can anyone help? If there is someone out there with JNDI connection pool experience I would appreciate your assistance!Manish
The issue may not be related to the number of connections or the initial
connections. Check your heap size (ms, mx). Turn on verbosegc. Your heap may
not be big enough to accept the 25,000 rows.
Bernie
"Manish Kumar Singh" <[email protected]> wrote in message
news:3e6c34ca$[email protected]..
We are creating the result set with 25000 rows(each row has 56 columns) bygetting the connection using data source. With the initial capacity of the
connection pool is 5 and the max capacity as 30 and grow connection as 1,
the server gets out of memory exception, when we issue a new request, even
after closing the previous connections.
Now, if we change the initial capacity to 1 and rest all the things assame, the issue gets resolved and the server works fine.
Could you please help me out in this regard????
thanks in advance
manish -
Use of variables in connection pools
Are there any other reasons to use variables in Connection Pool definitions other than if there are multiple CPs using a single DB ?
I'm reading various articles about migration between environments (eg http://obieeblog.wordpress.com/2009/08/04/simplifying-migration-process-%E2%80%93-changing-environment-specific-variables-in-rpd/ and http://oraclebizint.wordpress.com/2008/05/02/oracle-bi-ee-101332-automating-password-updates-of-connection-pools-and-users-command-line-options/) and it's struck me that the variables don't appear to add much benefit.
thanks.Hi,
I have two databases that are identical except in name. They have the same tables, same views etc.
Right now, I have them in two separate database folders in the Physical Layer each with its own connection Pool. So, When I create Reports in answers or dashboards, I have create two of them.
How Can I just create one report and make it point to the proper database dynamically.?
Thanks,
rkingmdu -
Server Crash from Db2 XA Connection Pool
We are running WLS 6.1 sp2 on Redhat Linux 7.2
and using a XA Connection pool with Type 2 DB2 XA Driver.
<JDBCConnectionPool
Name="TXBusobj" Targets="jeeva_adminServer"
InitialCapacity="0" CapacityIncrement="2" MaxCapacity="15" RefreshMinutes="5"
DriverName="COM.ibm.db2.jdbc.DB2XADataSource" Password="db2" URL="jdbc:db2/TEST_REP"
Properties="user=db2as;password=db2;DatabaseName=TEST_REP"
TestConnectionsOnReserve="false"
TestTableName="SYSIBM.SYSDUMMY1"/>
The application works fine with out the above XA Connection pool.
After adding the connection pool the server randomly crashes with Signal 11 from
JVM.
We are using 1.3.1_04 and also tried with 1.3.1_11
Following is the stack trace:
# Problematic Thread: prio=1 tid=0xabb6768 nid=0xa05 runnable
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x0
Function name=(N/A)
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at java.util.zip.ZipFile.getEntry(ZipFile.java:141)
at java.util.jar.JarFile.getEntry(JarFile.java:176)
at java.util.jar.JarFile.getJarEntry(JarFile.java:163)
at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:546)
at sun.misc.URLClassPath.getResource(URLClassPath.java:133)
at java.net.URLClassLoader$2.run(URLClassLoader.java:344)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(URLClassLoader.java:341)
at java.lang.ClassLoader.getResource(ClassLoader.java:766)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:927)
at java.util.ResourceBundle$1.run(ResourceBundle.java:931)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.ResourceBundle.loadBundle(ResourceBundle.java:927)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:786)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:616)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:570)
at weblogic.i18ntools.L10nLookup.getLocalizer(L10nLookup.java:299)
at weblogic.logging.LogManager.log(LogManager.java:230)
at weblogic.logging.MessageLogger.log(MessageLogger.java:17)
at weblogic.jdbc.JDBCLogger.logSleepingInCreateResourceInfo(JDBCLogger.java:1060)
at weblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnectionEnvFactory.java:69)
at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:511)
at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:400)
at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:390)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:164)
at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:118)
at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1152)
at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:679)
at weblogic.jdbc.jta.DataSource.recover(DataSource.java:887)
at weblogic.transaction.internal.ServerResourceInfo.recover(ServerResourceInfo.java:786)
at weblogic.transaction.internal.ServerSCInfo.recover(ServerSCInfo.java:283)
at weblogic.transaction.internal.ResourceDescriptor.getXidsToBeRolledBack(ResourceDescriptor.java:1112)
at weblogic.transaction.internal.ResourceDescriptor.recover(ResourceDescriptor.java:1046)
at weblogic.transaction.internal.ResourceDescriptor.access$9(ResourceDescriptor.java:1029)
at weblogic.transaction.internal.ResourceDescriptor$1.execute(ResourceDescriptor.java:770)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Dynamic libraries:
08048000-0804c000 r-xp 00000000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
0804c000-0804d000 rw-p 00003000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
40000000-40015000 r-xp 00000000 03:03 496100 /lib/ld-2.2.4.so
40015000-40016000 rw-p 00014000 03:03 496100 /lib/ld-2.2.4.so
40017000-40018000 r--p 00000000 03:02 288014 /usr/lib/locale/en_US/LC_IDENTIFICATION
40018000-40019000 r--p 00000000 03:02 544149 /usr/lib/locale/en_US/LC_MEASUREMENT
40019000-4001a000 r--p 00000000 03:02 48241 /usr/lib/locale/en_US/LC_TELEPHONE
4001a000-4001b000 r--p 00000000 03:02 48430 /usr/lib/locale/en_US/LC_ADDRESS
4001b000-4001c000 r--p 00000000 03:02 48429 /usr/lib/locale/en_US/LC_NAME
4001c000-4001d000 r--p 00000000 03:02 112040 /usr/lib/locale/en_US/LC_PAPER
4001d000-4002c000 r-xp 00000000 03:03 496046 /lib/libpthread-0.9.so
4002c000-40034000 rw-p 0000e000 03:03 496046 /lib/libpthread-0.9.so
40034000-4003d000 r-xp 00000000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
4003d000-4003e000 rw-p 00008000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
4003e000-40243000 r-xp 00000000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
40243000-40344000 rw-p 00204000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
4035b000-4035d000 r-xp 00000000 03:03 496014 /lib/libdl-2.2.4.so
4035d000-4035f000 rw-p 00001000 03:03 496014 /lib/libdl-2.2.4.so
40360000-4048c000 r-xp 00000000 03:03 496010 /lib/libc-2.2.4.so
4048c000-40492000 rw-p 0012b000 03:03 496010 /lib/libc-2.2.4.so
40496000-404a9000 r-xp 00000000 03:03 496019 /lib/libnsl-2.2.4.so
404a9000-404ab000 rw-p 00012000 03:03 496019 /lib/libnsl-2.2.4.so
404ad000-404ce000 r-xp 00000000 03:03 496016 /lib/libm-2.2.4.so
404ce000-404cf000 rw-p 00020000 03:03 496016 /lib/libm-2.2.4.so
404cf000-40503000 r-xp 00000000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
40503000-4050f000 rw-p 00033000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
40512000-40523000 r-xp 00000000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
40523000-40525000 rw-p 00010000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
40525000-40546000 r-xp 00000000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
40546000-40548000 rw-p 00020000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
40549000-4055d000 r-xp 00000000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
4055d000-40560000 rw-p 00013000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
40560000-41296000 r--s 00000000 03:02 384740 /usr/java/jdk1.3.1_04/jre/lib/rt.jar
412c3000-415ba000 r--s 00000000 03:02 384738 /usr/java/jdk1.3.1_04/jre/lib/i18n.jar
415ba000-415d0000 r--s 00000000 03:02 384745 /usr/java/jdk1.3.1_04/jre/lib/sunrsasign.jar
415d0000-415f4000 r--s 00000000 03:09 33023 /weblogic/wlserver6.1/config/blue2/lib/pja.jar
415f4000-41606000 r--s 00000000 03:02 160797 /usr/local/OptimizeitSuite55/lib/oibcp.jar
436ae000-436af000 r--p 00000000 03:02 384071 /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
436af000-436b0000 r--p 00000000 03:02 544108 /usr/lib/locale/en_US/LC_MONETARY
4d740000-4d76b000 r--p 00000000 03:02 592102 /usr/lib/locale/en_US/LC_CTYPE
4d76b000-4d771000 r--p 00000000 03:02 464163 /usr/lib/locale/en_US/LC_COLLATE
4d771000-4d772000 r--p 00000000 03:02 288192 /usr/lib/locale/en_US/LC_TIME
4d772000-4d773000 r--p 00000000 03:02 592098 /usr/lib/locale/en_US/LC_NUMERIC
4d773000-4d775000 r--s 00000000 03:02 352729 /usr/java/jdk1.3.1_04/jre/lib/ext/jcert.jar
4d775000-4d776000 r--s 00000000 03:02 352731 /usr/java/jdk1.3.1_04/jre/lib/ext/jnet.jar
4d776000-4d778000 r--s 00000000 03:09 33018 /weblogic/wlserver6.1/config/blue2/lib/CR082443_61sp2.jar
4d778000-4d779000 r--s 00000000 03:09 33017 /weblogic/wlserver6.1/config/blue2/lib/db2jcc_license_cu.jar
4d779000-4d782000 r-xp 00000000 03:03 496035 /lib/libnss_files-2.2.4.so
4d782000-4d784000 rw-p 00008000 03:03 496035 /lib/libnss_files-2.2.4.so
4d784000-4d7b1000 r-xp 00000000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
4d7b1000-4d7b3000 rw-p 0002c000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
4d7b7000-4d829000 r--s 00000000 03:02 352730 /usr/java/jdk1.3.1_04/jre/lib/ext/jsse.jar
4d829000-4dd78000 r--s 00000000 03:09 33025 /weblogic/wlserver6.1/config/blue2/lib/CR061106_61sp2.jar
4dd78000-4dd7c000 r--s 00000000 03:09 33021 /weblogic/wlserver6.1/config/blue2/lib/CR067966_610sp2.jar
4dd7c000-4dd7f000 r--s 00000000 03:09 33024 /weblogic/wlserver6.1/config/blue2/lib/CR064117_61sp2.jar
4dd7f000-4dd82000 r--s 00000000 03:09 33028 /weblogic/wlserver6.1/config/blue2/lib/CR060018_610sp2.jar
4dd82000-4dd84000 r--s 00000000 03:09 33026 /weblogic/wlserver6.1/config/blue2/lib/CR058352_61sp2.jar
4dd84000-4dd89000 r--s 00000000 03:09 33019 /weblogic/wlserver6.1/config/blue2/lib/rdbmsRealm.jar
4dd89000-4dda8000 r--s 00000000 03:09 33022 /weblogic/wlserver6.1/config/blue2/lib/xmlParserAPIs.jar
4dda8000-4de81000 r--s 00000000 03:09 33027 /weblogic/wlserver6.1/config/blue2/lib/xercesImpl.jar
4de81000-4dff7000 r--s 00000000 03:09 33016 /weblogic/wlserver6.1/config/blue2/lib/db2java.zip
4dff7000-4e0d3000 r--s 00000000 03:09 33020 /weblogic/wlserver6.1/config/blue2/lib/db2jcc.jar
4e0d3000-4e553000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
4e553000-4fdcd000 r--s 00000000 03:09 229395 /weblogic/wlserver6.1/lib/weblogic.jar
4fe2d000-4ff04000 r--s 00000000 03:09 229399 /weblogic/wlserver6.1/lib/xmlx.jar
4ff04000-50265000 r--s 00000000 03:02 160793 /usr/local/OptimizeitSuite55/lib/optit.jar
502d1000-502da000 r-xp 00000000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
502da000-502db000 rw-p 00008000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
502db000-50316000 r-xp 00000000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
50316000-50317000 rw-p 0003a000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
5031f000-50323000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
50325000-5032f000 r-xp 00000000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
5032f000-50330000 rw-p 00009000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
50331000-50334000 r-xp 00000000 03:03 496032 /lib/libnss_dns-2.2.4.so
50334000-50336000 rw-p 00002000 03:03 496032 /lib/libnss_dns-2.2.4.so
50336000-5033a000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
5033a000-5033d000 r--s 00000000 03:09 98634 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal2/cls50095.jar
5033d000-50340000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
50361000-50392000 r-xp 00000000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
50392000-50394000 rw-p 00030000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
50394000-50397000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
50397000-5039a000 r--s 00000000 03:09 49447 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal1/cls50099.jar
5039a000-503a0000 r-xp 00000000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
503a0000-503a2000 rw-p 00005000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
503c3000-503d1000 r-xp 00000000 03:03 496048 /lib/libresolv-2.2.4.so
503d1000-503d2000 rw-p 0000d000 03:03 496048 /lib/libresolv-2.2.4.so
503d5000-503e3000 r--s 00000000 03:09 49459 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/messaging50109.jar
504a5000-504ed000 r-xp 00000000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
504ed000-504f1000 rw-p 00047000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
504f1000-504fd000 r-xp 00000000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
504fd000-504ff000 rw-p 0000b000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
50600000-50604000 r-xp 00000000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
50604000-50606000 rw-p 00003000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
50606000-5060d000 r-xp 00000000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
5060d000-5060f000 rw-p 00006000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
5060f000-50623000 r-xp 00000000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
50623000-50624000 rw-p 00013000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
506e9000-506fe000 r--s 00000000 03:09 49460 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/controller50110.jar
50800000-5081b000 r-xp 00000000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
5081b000-50820000 rw-p 0001a000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
50827000-50829000 r-xp 00000000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
50829000-5082a000 rw-p 00001000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
5082a000-50831000 r-xp 00000000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
50831000-50836000 rw-p 00006000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
50863000-508aa000 r--s 00000000 03:09 49458 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/utils50108.jar
508aa000-508b2000 r--s 00000000 03:09 49455 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/org50105.jar
508b2000-508ba000 r--s 00000000 03:09 49461 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/aspectjrt50111.jar
508ba000-508d0000 r--s 00000000 03:09 49454 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/security50104.jar
508d0000-508ef000 r--s 00000000 03:09 49453 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/persistence50103.jar
508ef000-508f8000 r--s 00000000 03:09 49457 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/caching50107.jar
50d02000-50d9d000 r--s 00000000 03:09 49463 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/iText50113.jar
50d9d000-50e33000 r--s 00000000 03:09 49466 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/jsTMP50116.jar
50e33000-50e8a000 r--s 00000000 03:09 49465 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/log4j50115.jar
50e8a000-50ee3000 r--s 00000000 03:09 49464 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/trove50114.jar
50f65000-50f96000 r-xp 00000000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
50f96000-50fd6000 rw-p 00030000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
510e7000-51136000 r-xp 00000000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
51136000-51155000 rw-p 0004e000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
51155000-5115a000 r-xp 00000000 03:03 496012 /lib/libcrypt-2.2.4.so
5115a000-5115b000 rw-p 00004000 03:03 496012 /lib/libcrypt-2.2.4.so
51182000-51193000 r-xp 00000000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
51193000-511a0000 rw-p 00010000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
511a0000-511da000 r-xp 00000000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
511da000-51221000 rw-p 00039000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
51234000-5125a000 r-xp 00000000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
5125a000-51277000 rw-p 00025000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
512ea000-516b8000 r-xp 00000000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
516b8000-516c8000 rw-p 003cd000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
516dd000-517ce000 r-xp 00000000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
517ce000-517d3000 rw-p 000f0000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
517d3000-517f1000 r--s 00000000 03:09 49456 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/adminfw50106.jar
52300000-526ea000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
526ea000-52ad4000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
52ad4000-52b2f000 r--s 00000000 03:09 49452 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/sysadmin50102.jar
52b2f000-52c0b000 r--s 00000000 03:09 49462 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/db2jcc50112.jar
53700000-53b80000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
54300000-54691000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
54a00000-54d91000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
58909000-590cc000 r-xp 00000000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
590cc000-5967e000 rw-p 007c2000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
Local Time = Wed May 26 16:44:53 2004
Elapsed Time = 387
# The exception above was detected in native code outside the VM
# Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode)
# An error report file has been saved as hs_err_pid2565.log.
# Please refer to the file for further information.Attached the Profiler snapshot of the connection classes.
There seem to be large instances of weblogic.jdbc.Connection
Joe Weinstein <[email protected]> wrote:
>
>
Jeeva wrote:
We are running WLS 6.1 sp2 on Redhat Linux 7.2
and using a XA Connection pool with Type 2 DB2 XA Driver.The type-2 driver is killing the JVM process with a bug in it's
native code. It seems to be failing randomly at runtime while
your pool is trying to make jdbc connections. You may be able
to avoid this if you will define your pool to make all it's
connections at startup. Ie: init capacity = max capacity.
Java is so much safer. If you can use a type-4 driver it
can't kill the JVM...
Joe
<JDBCConnectionPool
Name="TXBusobj" Targets="jeeva_adminServer"
InitialCapacity="0" CapacityIncrement="2" MaxCapacity="15"RefreshMinutes="5"
DriverName="COM.ibm.db2.jdbc.DB2XADataSource" Password="db2"URL="jdbc:db2/TEST_REP"
Properties="user=db2as;password=db2;DatabaseName=TEST_REP"
TestConnectionsOnReserve="false"
TestTableName="SYSIBM.SYSDUMMY1"/>
The application works fine with out the above XA Connection pool.
After adding the connection pool the server randomly crashes with Signal11 from
JVM.
We are using 1.3.1_04 and also tried with 1.3.1_11
Following is the stack trace:
# Problematic Thread: prio=1 tid=0xabb6768 nid=0xa05 runnable
An unexpected exception has been detected in native code outside theVM.
Unexpected Signal : 11 occurred at PC=0x0
Function name=(N/A)
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at java.util.zip.ZipFile.getEntry(ZipFile.java:141)
at java.util.jar.JarFile.getEntry(JarFile.java:176)
at java.util.jar.JarFile.getJarEntry(JarFile.java:163)
at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:546)
at sun.misc.URLClassPath.getResource(URLClassPath.java:133)
at java.net.URLClassLoader$2.run(URLClassLoader.java:344)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(URLClassLoader.java:341)
at java.lang.ClassLoader.getResource(ClassLoader.java:766)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:927)
at java.util.ResourceBundle$1.run(ResourceBundle.java:931)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.ResourceBundle.loadBundle(ResourceBundle.java:927)
at java.util.ResourceBundle.findBundle(ResourceBundle.java:786)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:616)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:570)
at weblogic.i18ntools.L10nLookup.getLocalizer(L10nLookup.java:299)
at weblogic.logging.LogManager.log(LogManager.java:230)
at weblogic.logging.MessageLogger.log(MessageLogger.java:17)
at weblogic.jdbc.JDBCLogger.logSleepingInCreateResourceInfo(JDBCLogger.java:1060)
at weblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnectionEnvFactory.java:69)
at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:511)
at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:400)
at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:390)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:164)
at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:118)
at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1152)
at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:679)
at weblogic.jdbc.jta.DataSource.recover(DataSource.java:887)
at weblogic.transaction.internal.ServerResourceInfo.recover(ServerResourceInfo.java:786)
at weblogic.transaction.internal.ServerSCInfo.recover(ServerSCInfo.java:283)
at weblogic.transaction.internal.ResourceDescriptor.getXidsToBeRolledBack(ResourceDescriptor.java:1112)
at weblogic.transaction.internal.ResourceDescriptor.recover(ResourceDescriptor.java:1046)
at weblogic.transaction.internal.ResourceDescriptor.access$9(ResourceDescriptor.java:1029)
at weblogic.transaction.internal.ResourceDescriptor$1.execute(ResourceDescriptor.java:770)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Dynamic libraries:
08048000-0804c000 r-xp 00000000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
0804c000-0804d000 rw-p 00003000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
40000000-40015000 r-xp 00000000 03:03 496100 /lib/ld-2.2.4.so
40015000-40016000 rw-p 00014000 03:03 496100 /lib/ld-2.2.4.so
40017000-40018000 r--p 00000000 03:02 288014 /usr/lib/locale/en_US/LC_IDENTIFICATION
40018000-40019000 r--p 00000000 03:02 544149 /usr/lib/locale/en_US/LC_MEASUREMENT
40019000-4001a000 r--p 00000000 03:02 48241 /usr/lib/locale/en_US/LC_TELEPHONE
4001a000-4001b000 r--p 00000000 03:02 48430 /usr/lib/locale/en_US/LC_ADDRESS
4001b000-4001c000 r--p 00000000 03:02 48429 /usr/lib/locale/en_US/LC_NAME
4001c000-4001d000 r--p 00000000 03:02 112040 /usr/lib/locale/en_US/LC_PAPER
4001d000-4002c000 r-xp 00000000 03:03 496046 /lib/libpthread-0.9.so
4002c000-40034000 rw-p 0000e000 03:03 496046 /lib/libpthread-0.9.so
40034000-4003d000 r-xp 00000000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
4003d000-4003e000 rw-p 00008000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
4003e000-40243000 r-xp 00000000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
40243000-40344000 rw-p 00204000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
4035b000-4035d000 r-xp 00000000 03:03 496014 /lib/libdl-2.2.4.so
4035d000-4035f000 rw-p 00001000 03:03 496014 /lib/libdl-2.2.4.so
40360000-4048c000 r-xp 00000000 03:03 496010 /lib/libc-2.2.4.so
4048c000-40492000 rw-p 0012b000 03:03 496010 /lib/libc-2.2.4.so
40496000-404a9000 r-xp 00000000 03:03 496019 /lib/libnsl-2.2.4.so
404a9000-404ab000 rw-p 00012000 03:03 496019 /lib/libnsl-2.2.4.so
404ad000-404ce000 r-xp 00000000 03:03 496016 /lib/libm-2.2.4.so
404ce000-404cf000 rw-p 00020000 03:03 496016 /lib/libm-2.2.4.so
404cf000-40503000 r-xp 00000000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
40503000-4050f000 rw-p 00033000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
40512000-40523000 r-xp 00000000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
40523000-40525000 rw-p 00010000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
40525000-40546000 r-xp 00000000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
40546000-40548000 rw-p 00020000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
40549000-4055d000 r-xp 00000000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
4055d000-40560000 rw-p 00013000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
40560000-41296000 r--s 00000000 03:02 384740 /usr/java/jdk1.3.1_04/jre/lib/rt.jar
412c3000-415ba000 r--s 00000000 03:02 384738 /usr/java/jdk1.3.1_04/jre/lib/i18n.jar
415ba000-415d0000 r--s 00000000 03:02 384745 /usr/java/jdk1.3.1_04/jre/lib/sunrsasign.jar
415d0000-415f4000 r--s 00000000 03:09 33023 /weblogic/wlserver6.1/config/blue2/lib/pja.jar
415f4000-41606000 r--s 00000000 03:02 160797 /usr/local/OptimizeitSuite55/lib/oibcp.jar
436ae000-436af000 r--p 00000000 03:02 384071 /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
436af000-436b0000 r--p 00000000 03:02 544108 /usr/lib/locale/en_US/LC_MONETARY
4d740000-4d76b000 r--p 00000000 03:02 592102 /usr/lib/locale/en_US/LC_CTYPE
4d76b000-4d771000 r--p 00000000 03:02 464163 /usr/lib/locale/en_US/LC_COLLATE
4d771000-4d772000 r--p 00000000 03:02 288192 /usr/lib/locale/en_US/LC_TIME
4d772000-4d773000 r--p 00000000 03:02 592098 /usr/lib/locale/en_US/LC_NUMERIC
4d773000-4d775000 r--s 00000000 03:02 352729 /usr/java/jdk1.3.1_04/jre/lib/ext/jcert.jar
4d775000-4d776000 r--s 00000000 03:02 352731 /usr/java/jdk1.3.1_04/jre/lib/ext/jnet.jar
4d776000-4d778000 r--s 00000000 03:09 33018 /weblogic/wlserver6.1/config/blue2/lib/CR082443_61sp2.jar
4d778000-4d779000 r--s 00000000 03:09 33017 /weblogic/wlserver6.1/config/blue2/lib/db2jcc_license_cu.jar
4d779000-4d782000 r-xp 00000000 03:03 496035 /lib/libnss_files-2.2.4.so
4d782000-4d784000 rw-p 00008000 03:03 496035 /lib/libnss_files-2.2.4.so
4d784000-4d7b1000 r-xp 00000000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
4d7b1000-4d7b3000 rw-p 0002c000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
4d7b7000-4d829000 r--s 00000000 03:02 352730 /usr/java/jdk1.3.1_04/jre/lib/ext/jsse.jar
4d829000-4dd78000 r--s 00000000 03:09 33025 /weblogic/wlserver6.1/config/blue2/lib/CR061106_61sp2.jar
4dd78000-4dd7c000 r--s 00000000 03:09 33021 /weblogic/wlserver6.1/config/blue2/lib/CR067966_610sp2.jar
4dd7c000-4dd7f000 r--s 00000000 03:09 33024 /weblogic/wlserver6.1/config/blue2/lib/CR064117_61sp2.jar
4dd7f000-4dd82000 r--s 00000000 03:09 33028 /weblogic/wlserver6.1/config/blue2/lib/CR060018_610sp2.jar
4dd82000-4dd84000 r--s 00000000 03:09 33026 /weblogic/wlserver6.1/config/blue2/lib/CR058352_61sp2.jar
4dd84000-4dd89000 r--s 00000000 03:09 33019 /weblogic/wlserver6.1/config/blue2/lib/rdbmsRealm.jar
4dd89000-4dda8000 r--s 00000000 03:09 33022 /weblogic/wlserver6.1/config/blue2/lib/xmlParserAPIs.jar
4dda8000-4de81000 r--s 00000000 03:09 33027 /weblogic/wlserver6.1/config/blue2/lib/xercesImpl.jar
4de81000-4dff7000 r--s 00000000 03:09 33016 /weblogic/wlserver6.1/config/blue2/lib/db2java.zip
4dff7000-4e0d3000 r--s 00000000 03:09 33020 /weblogic/wlserver6.1/config/blue2/lib/db2jcc.jar
4e0d3000-4e553000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
4e553000-4fdcd000 r--s 00000000 03:09 229395 /weblogic/wlserver6.1/lib/weblogic.jar
4fe2d000-4ff04000 r--s 00000000 03:09 229399 /weblogic/wlserver6.1/lib/xmlx.jar
4ff04000-50265000 r--s 00000000 03:02 160793 /usr/local/OptimizeitSuite55/lib/optit.jar
502d1000-502da000 r-xp 00000000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
502da000-502db000 rw-p 00008000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
502db000-50316000 r-xp 00000000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
50316000-50317000 rw-p 0003a000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
5031f000-50323000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
50325000-5032f000 r-xp 00000000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
5032f000-50330000 rw-p 00009000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
50331000-50334000 r-xp 00000000 03:03 496032 /lib/libnss_dns-2.2.4.so
50334000-50336000 rw-p 00002000 03:03 496032 /lib/libnss_dns-2.2.4.so
50336000-5033a000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
5033a000-5033d000 r--s 00000000 03:09 98634 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal2/cls50095.jar
5033d000-50340000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
50361000-50392000 r-xp 00000000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
50392000-50394000 rw-p 00030000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
50394000-50397000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
50397000-5039a000 r--s 00000000 03:09 49447 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal1/cls50099.jar
5039a000-503a0000 r-xp 00000000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
503a0000-503a2000 rw-p 00005000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
503c3000-503d1000 r-xp 00000000 03:03 496048 /lib/libresolv-2.2.4.so
503d1000-503d2000 rw-p 0000d000 03:03 496048 /lib/libresolv-2.2.4.so
503d5000-503e3000 r--s 00000000 03:09 49459 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/messaging50109.jar
504a5000-504ed000 r-xp 00000000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
504ed000-504f1000 rw-p 00047000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
504f1000-504fd000 r-xp 00000000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
504fd000-504ff000 rw-p 0000b000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
50600000-50604000 r-xp 00000000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
50604000-50606000 rw-p 00003000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
50606000-5060d000 r-xp 00000000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
5060d000-5060f000 rw-p 00006000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
5060f000-50623000 r-xp 00000000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
50623000-50624000 rw-p 00013000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
506e9000-506fe000 r--s 00000000 03:09 49460 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/controller50110.jar
50800000-5081b000 r-xp 00000000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
5081b000-50820000 rw-p 0001a000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
50827000-50829000 r-xp 00000000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
50829000-5082a000 rw-p 00001000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
5082a000-50831000 r-xp 00000000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
50831000-50836000 rw-p 00006000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
50863000-508aa000 r--s 00000000 03:09 49458 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/utils50108.jar
508aa000-508b2000 r--s 00000000 03:09 49455 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/org50105.jar
508b2000-508ba000 r--s 00000000 03:09 49461 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/aspectjrt50111.jar
508ba000-508d0000 r--s 00000000 03:09 49454 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/security50104.jar
508d0000-508ef000 r--s 00000000 03:09 49453 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/persistence50103.jar
508ef000-508f8000 r--s 00000000 03:09 49457 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/caching50107.jar
50d02000-50d9d000 r--s 00000000 03:09 49463 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/iText50113.jar
50d9d000-50e33000 r--s 00000000 03:09 49466 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/jsTMP50116.jar
50e33000-50e8a000 r--s 00000000 03:09 49465 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/log4j50115.jar
50e8a000-50ee3000 r--s 00000000 03:09 49464 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/trove50114.jar
50f65000-50f96000 r-xp 00000000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
50f96000-50fd6000 rw-p 00030000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
510e7000-51136000 r-xp 00000000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
51136000-51155000 rw-p 0004e000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
51155000-5115a000 r-xp 00000000 03:03 496012 /lib/libcrypt-2.2.4.so
5115a000-5115b000 rw-p 00004000 03:03 496012 /lib/libcrypt-2.2.4.so
51182000-51193000 r-xp 00000000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
51193000-511a0000 rw-p 00010000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
511a0000-511da000 r-xp 00000000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
511da000-51221000 rw-p 00039000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
51234000-5125a000 r-xp 00000000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
5125a000-51277000 rw-p 00025000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
512ea000-516b8000 r-xp 00000000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
516b8000-516c8000 rw-p 003cd000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
516dd000-517ce000 r-xp 00000000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
517ce000-517d3000 rw-p 000f0000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
517d3000-517f1000 r--s 00000000 03:09 49456 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/adminfw50106.jar
52300000-526ea000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
526ea000-52ad4000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
52ad4000-52b2f000 r--s 00000000 03:09 49452 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/sysadmin50102.jar
52b2f000-52c0b000 r--s 00000000 03:09 49462 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/db2jcc50112.jar
53700000-53b80000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
54300000-54691000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
54a00000-54d91000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
58909000-590cc000 r-xp 00000000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
590cc000-5967e000 rw-p 007c2000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
Local Time = Wed May 26 16:44:53 2004
Elapsed Time = 387
# The exception above was detected in native code outside the VM
# Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode)
# An error report file has been saved as hs_err_pid2565.log.
# Please refer to the file for further information.
[connection_profile.doc] -
KIMYONG : Applications Database Connection Pool 관련 parameter 설명
Purpose
JVM 이 과도한 CPU / Memory를 사용하게 되어 Application Performance에 영향을 미칠때가 있으며 이럴경우 Connection Pool 관련하여 Parameter Tunning을 해야 할때가 있습니다. 이때 사용되는 Parameter들의 의미를 설명하고자 합니다.
The Applications Database Connection Pool is a pool of JDBC database connections that are shared among java applications. Applications obtain connections from the pool by using the getJDBCConnection(...) methods of AppsContext.
Essentially, each AppsContext has a single database connection associated with it at all times.
The AOL/J layer internally borrows and returns this connection to the pool as needed to maintain connection reference that is properly initialized for the current Java tier AOL security context and NLS state.
FND_MAX_JDBC_CONNECTIONS
============================
The maximum pool size is the maximum allowed sum of the number of available connections and thenumber of locked connections. If the pool reaches the maximum size and all connections are locked, new clients will not be able to borrow a connection until one of the current clients has returned one. The default setting for this parameter is essentially unlimited (about 2 billion).
FND_JDBC_BUFFER_MIN
======================
The buffer minimum is the minimum number of connections that the pool should try to maintain in the available list. When the buffer size falls below the buffer minimum, the pool maintenance thread will be notified to create new connections. When notified, the thread will immediately attempt to create the number of connections to fill the difference. New connections will not be created if the pool is already at its maximum size. When creating new connections the thread uses the attributes of the most recent client request that resulted in a new connection being created.
Setting this parameter to "0" will disable maintenance of the buffer minimum.
However, the buffer maximum will still be maintained.
Setting this parameter to a number greater than the maximum pool size(FND_MAX_JDBC_CONNECTIONS) will disable all buffer maintenance.
FND_JDBC_BUFFER_MAX
======================
The buffer maximum is the maximum number of connections that the pool should try to maintain in the available list. During heavy usage, the buffer may exceed this maximum. However, during periods of low usage, the maintenance thread will decrease the buffer size until the buffer maximum is reached.
If the value of this parameter is an integer, (for example "20") the buffer maximum is static. If the value is a percent (for example, "20%"), the buffer maximum is not constant but instead is calculated dynamically as a percent of total pool size. The buffer minimum is also taken into account when
determining a dynamic buffer maximum.
The exact expression used is:
maximum(t) = buffer minimum + ( (FND_JDBC_BUFFER_MAX/100) * size(t) )
where maximum(t) and size(t) are the buffer maximum and pool size at some time t.
The thread is configured to periodically check the buffer size. If the buffer size is greater than the maximum, the thread will remove either the number of available connections specified by FND_JDBC_BUFFER_DECAY_SIZE or the number of connections in excess of the buffer minimum, whichever is smaller. When connections are removed from the available list, the least recently used ones are removed first.
Setting this parameter to100%, or to a number equal to FND_MAXIMUM_JDBC_CONNECTIONS, or to a number less than or equal to FND_JDBC_BUFFER_MIN will effectively prevent the maintenance thread from ever removing any connections.
FND_JDBC_BUFFER_DECAY_INTERVAL
===================================
The buffer decay interval specifies how often the connection pool maintenance thread should check the buffer size. The thread will check the buffer size at most once every FND_JDBC_BUFFER_DECAY_INTERVAL seconds. The actual time between consecutive thread cycles will vary somewhat depending on the JVM load.
This parameter, along with FND_JDBC_BUFFER_DECAY_SIZE, allows the buffer decay rate to be tuned. For example, if the buffer decay size is 2 and the buffer decay interval is one minute, the buffer decay rate will never exceed two connections per minute. When connections are removed, the least recently used ones are removed first.
FND_JDBC_BUFFER_DECAY_SIZE
=============================
The buffer decay size specifies the maximum number of connections that should be removed during any single thread cycle during which the number of available connections is greater than the buffer size. This parameter, along with FND_JDBC_BUFFER_DECAY_INTERVAL, allows the buffer decay rate to be tuned.
FND_JDBC_MAX_WAIT_TIME
=========================
The maximum wait time specifies how much time a client should spend trying to get a connection. The borrow algorithm, used to borrow an object from the pool, contains check points at which the elapsed time is compared to the maximum wait time. If it exceeds the maximum wait time, then a null object will be returned to the client. The pre-configured value for the maximum wait time is
10 seconds.
FND_JDBC_SELECTION_POLICY
============================
The selection policy determines how a connection is selected from the list of available connections for a particular client. The connection pool is pre-configured to use a cost-based selection algorithm, which selects the connection that will require the smallest amount of initialization to match the
client's context.
FND_JDBC_USABLE_CHECK
===========================
The FND_JDBC_USABLE_CHECK parameter governs whether a pl/sql query is performed before giving a connection to a client. The pool checks whether a connection is usable before handing it to a client. This always involves checking that the connection is not null and is not closed. If FND_JDBC_USABLE_CHECK is set to true, then it also verifies that the connection can be used to perform a simple PL/SQL query. (This parameter may have to be set to "true" in order to clean up
connections to a database that has been restarted.)
FND_JDBC_CONTEXT_CHECK
==========================
The FND_JDBC_CONTEXT_CHECK parameter governs whether the AOL security context and NLS state is obtained from the database when the connection is returned to the pool. If FND_JDBC_CONTEXT_CHECK is "true", when the connection is returned to the pool, the AOL security context and NLS state will be obtained from the database. (This is implemented in the DBConnObj.isReusable() method). This check must be done when the connection is returned (rather than when it is borrowed) so that the selection matching algorithm has access to the actual
session context of the connections in the available list.
FND_JDBC_PLSQL_RESET
========================
The PL/SQL reset flag, set using the variable FND_JDBC_PLSQL_RESET, governs whether the PL/SQL state associated with a connection should be freed before the pool hands the connection to the client. By default this flag is false.
If the flag is set by true, by including the line "FND_JDBC_PLSQL_RESET=true" in the .dbc file, each connection to the database will have its PL/SQL state cleared before the pool returns the connection to the client.
This is how it works. After the pool selects a connection from the available list for a client, it initializes the connection. One of the things initialization does is to set a flag that is later used by SessionManager to determine if the apps initialization routine needs to be performed for the connection. When FND_JDBC_PLSQL_RESET has been set to "true", this flag will always be set to true. After the pool initializes the connection, it also checks whether the connection is usable. In this case, this check will include a call to DBMS_SESSION.RESET_PACKAGE, which frees the PL/SQL state. The table below summaries the affect of FND_JDBC_PLSQL_RESET and the other safety check parameters on borrowing a connection from the pool.
The FND_JDBC_PLSQL_RESET parameter has been added to only to address the case where production PL/SQL global bugs are known to exist. The performance of the pool is reduced by setting this flag to true.
Reference : Note 264599.1Purpose
JVM 이 과도한 CPU / Memory를 사용하게 되어 Application Performance에 영향을 미칠때가 있으며 이럴경우 Connection Pool 관련하여 Parameter Tunning을 해야 할때가 있습니다. 이때 사용되는 Parameter들의 의미를 설명하고자 합니다.
The Applications Database Connection Pool is a pool of JDBC database connections that are shared among java applications. Applications obtain connections from the pool by using the getJDBCConnection(...) methods of AppsContext.
Essentially, each AppsContext has a single database connection associated with it at all times.
The AOL/J layer internally borrows and returns this connection to the pool as needed to maintain connection reference that is properly initialized for the current Java tier AOL security context and NLS state.
FND_MAX_JDBC_CONNECTIONS
============================
The maximum pool size is the maximum allowed sum of the number of available connections and thenumber of locked connections. If the pool reaches the maximum size and all connections are locked, new clients will not be able to borrow a connection until one of the current clients has returned one. The default setting for this parameter is essentially unlimited (about 2 billion).
FND_JDBC_BUFFER_MIN
======================
The buffer minimum is the minimum number of connections that the pool should try to maintain in the available list. When the buffer size falls below the buffer minimum, the pool maintenance thread will be notified to create new connections. When notified, the thread will immediately attempt to create the number of connections to fill the difference. New connections will not be created if the pool is already at its maximum size. When creating new connections the thread uses the attributes of the most recent client request that resulted in a new connection being created.
Setting this parameter to "0" will disable maintenance of the buffer minimum.
However, the buffer maximum will still be maintained.
Setting this parameter to a number greater than the maximum pool size(FND_MAX_JDBC_CONNECTIONS) will disable all buffer maintenance.
FND_JDBC_BUFFER_MAX
======================
The buffer maximum is the maximum number of connections that the pool should try to maintain in the available list. During heavy usage, the buffer may exceed this maximum. However, during periods of low usage, the maintenance thread will decrease the buffer size until the buffer maximum is reached.
If the value of this parameter is an integer, (for example "20") the buffer maximum is static. If the value is a percent (for example, "20%"), the buffer maximum is not constant but instead is calculated dynamically as a percent of total pool size. The buffer minimum is also taken into account when
determining a dynamic buffer maximum.
The exact expression used is:
maximum(t) = buffer minimum + ( (FND_JDBC_BUFFER_MAX/100) * size(t) )
where maximum(t) and size(t) are the buffer maximum and pool size at some time t.
The thread is configured to periodically check the buffer size. If the buffer size is greater than the maximum, the thread will remove either the number of available connections specified by FND_JDBC_BUFFER_DECAY_SIZE or the number of connections in excess of the buffer minimum, whichever is smaller. When connections are removed from the available list, the least recently used ones are removed first.
Setting this parameter to100%, or to a number equal to FND_MAXIMUM_JDBC_CONNECTIONS, or to a number less than or equal to FND_JDBC_BUFFER_MIN will effectively prevent the maintenance thread from ever removing any connections.
FND_JDBC_BUFFER_DECAY_INTERVAL
===================================
The buffer decay interval specifies how often the connection pool maintenance thread should check the buffer size. The thread will check the buffer size at most once every FND_JDBC_BUFFER_DECAY_INTERVAL seconds. The actual time between consecutive thread cycles will vary somewhat depending on the JVM load.
This parameter, along with FND_JDBC_BUFFER_DECAY_SIZE, allows the buffer decay rate to be tuned. For example, if the buffer decay size is 2 and the buffer decay interval is one minute, the buffer decay rate will never exceed two connections per minute. When connections are removed, the least recently used ones are removed first.
FND_JDBC_BUFFER_DECAY_SIZE
=============================
The buffer decay size specifies the maximum number of connections that should be removed during any single thread cycle during which the number of available connections is greater than the buffer size. This parameter, along with FND_JDBC_BUFFER_DECAY_INTERVAL, allows the buffer decay rate to be tuned.
FND_JDBC_MAX_WAIT_TIME
=========================
The maximum wait time specifies how much time a client should spend trying to get a connection. The borrow algorithm, used to borrow an object from the pool, contains check points at which the elapsed time is compared to the maximum wait time. If it exceeds the maximum wait time, then a null object will be returned to the client. The pre-configured value for the maximum wait time is
10 seconds.
FND_JDBC_SELECTION_POLICY
============================
The selection policy determines how a connection is selected from the list of available connections for a particular client. The connection pool is pre-configured to use a cost-based selection algorithm, which selects the connection that will require the smallest amount of initialization to match the
client's context.
FND_JDBC_USABLE_CHECK
===========================
The FND_JDBC_USABLE_CHECK parameter governs whether a pl/sql query is performed before giving a connection to a client. The pool checks whether a connection is usable before handing it to a client. This always involves checking that the connection is not null and is not closed. If FND_JDBC_USABLE_CHECK is set to true, then it also verifies that the connection can be used to perform a simple PL/SQL query. (This parameter may have to be set to "true" in order to clean up
connections to a database that has been restarted.)
FND_JDBC_CONTEXT_CHECK
==========================
The FND_JDBC_CONTEXT_CHECK parameter governs whether the AOL security context and NLS state is obtained from the database when the connection is returned to the pool. If FND_JDBC_CONTEXT_CHECK is "true", when the connection is returned to the pool, the AOL security context and NLS state will be obtained from the database. (This is implemented in the DBConnObj.isReusable() method). This check must be done when the connection is returned (rather than when it is borrowed) so that the selection matching algorithm has access to the actual
session context of the connections in the available list.
FND_JDBC_PLSQL_RESET
========================
The PL/SQL reset flag, set using the variable FND_JDBC_PLSQL_RESET, governs whether the PL/SQL state associated with a connection should be freed before the pool hands the connection to the client. By default this flag is false.
If the flag is set by true, by including the line "FND_JDBC_PLSQL_RESET=true" in the .dbc file, each connection to the database will have its PL/SQL state cleared before the pool returns the connection to the client.
This is how it works. After the pool selects a connection from the available list for a client, it initializes the connection. One of the things initialization does is to set a flag that is later used by SessionManager to determine if the apps initialization routine needs to be performed for the connection. When FND_JDBC_PLSQL_RESET has been set to "true", this flag will always be set to true. After the pool initializes the connection, it also checks whether the connection is usable. In this case, this check will include a call to DBMS_SESSION.RESET_PACKAGE, which frees the PL/SQL state. The table below summaries the affect of FND_JDBC_PLSQL_RESET and the other safety check parameters on borrowing a connection from the pool.
The FND_JDBC_PLSQL_RESET parameter has been added to only to address the case where production PL/SQL global bugs are known to exist. The performance of the pool is reduced by setting this flag to true.
Reference : Note 264599.1
Maybe you are looking for
-
Camera Calibration Profile in Adobe Camera Raw 5.3
I'm trying to figure out the Camera Calibration tab in Adobe Camera Raw 5.3. It seems that every picture I open selects a different Camera Profile in the drop down menu. How do I know which one is appropriate for my camera (Nikon D40X)? Or, do you
-
'No date' files in Open file dialog window
It is annoying to open recent created/modified files/folders. They are dated as 'no dated'. This does not happen browsing files/folders in Finder. This snapshot was taken on Nov 24 and "Today" contains Nov 17 files And here 'No Date' files at bottom
-
hi i need simple strut project using mysqlserver. pls any one tell me website for this. pls its very urgent
-
In the past, if I wanted to use the Go>Network path I had to click on Go>Network once, wait for a Finder window to come up for a split second and disappear and then I had to click on Go>Network one more time to keep the window open. However, since I
-
Why is my mac asking for a password now I never had one before?
why is my mac asking for a password now I never had one before?