Connection pool types
Hi gurus,
how many types of connection pool? i heard about some connection pool like super user,mega user,general but am not aware of that if any one please explain it what is it?
Regards,
Prabhu
Basically, a connection pool is used to connect the OBIEE RPD to a database. It could be any data source varying from a database to a flat file. In more detail below:
The connection pool is an object in the Physical layer that describes access to the data source. It contains information about the connection between the Oracle BI Server and that data source.
The Physical layer in the Administration Tool contains at least one connection pool for each database. When you create the Physical layer by importing a schema for a data source, the connection pool is created automatically. You can configure multiple connection pools for a database. Connection pools allow multiple concurrent data source requests (queries) to share a single database connection, reducing the overhead of connecting to a database.
For each connection pool, you must specify the maximum number of concurrent connections allowed. After this limit is reached, the connection request waits until a connection becomes available.
Increasing the allowed number of concurrent connections can potentially increase the load on the underlying database accessed by the connection pool. Test and consult with your DBA to make sure the data source can handle the number of connections specified in the connection pool. Also, if the data sources have a charge back system based on the number of connections, you might want to limit the number of concurrent connections to keep the charge-back costs down.
In addition to the potential load and costs associated with the database resources, the Oracle BI Server allocates shared memory for each connection upon server startup. This raises the number of connections and increases Oracle BI Server memory usage.
868844 wrote:
how many types of connection pool? i heard about some connection pool like super user,mega user,general but am not aware of that if any one please explain it what is it?Comming back to your question regarding different type of users in the connection pool, I believe you are talking about the user of the database and his priviliges. You will need to use a database account with create priviliges, if you want to be able to create tables, write back etc in the database. If it is all about reading the data from the database then all you need a regular database account with read priviliges.
Hope your question is answered.
Please award points if helpful.
Thanks,
-Amith.
Similar Messages
-
EP 6.0 SP2 PL28 - connection pool for principal type UACC fails
Hello,
does anybody have the same problem? - We always lose the LDAP-Connection after restart of the j2ee-Services on our Enterprise Portal. We get then this error-message:
->
<b>connection pool for principal type UACC fails</b>
Loading application: com.sap.portal.usermanagement
Loading services:
Loading service: com.sap.portal.license.runtime|license
Jul 2, 2005 4:27:09 AM # System_Thread_32 Fatal [class=com.sap.security.core.persistence.datasource.imp.LDAPConnectionManager][method=initConnectionPool()][cl=13324]connection pool for principal type UACC fails
Thanks in advance.
Regards,
RalfDoes anybody can help me? - It´s important.
Thanks in advance.
Regards,
Ralf -
Easy JNDI + Connection Pool Question
This is an easy question:
Once I get the object represented by my connection pool from the
Weblogic JNDI tree, how do I get a connection from the returned object
of type weblogic.common.internal.ResourceAllocator?
I keep getting ClassCastExceptions. I have tried
ConnectionPoolDataSource, Connection, and DataSource.
String conPool = "weblogic.jdbc.connectionPool.demoPool";
try {
Object obj = ctx.lookup(conPool);
msg(DEBUG,"FROM LOOKUP" + obj.getClass().getName());
//DataSource ds = (DataSource)ctx.lookup(conPool);
//con = ds.getConnection();
} catch (NameNotFoundException e) {
// binding does not exist
msg(ERROR,"BINDING DOES NOT EXIST",e);
} catch (NamingException e) {
// a failure occurred
msg(ERROR,"NAMING FAILURE OCCURED",e);
} catch (Exception e) {
msg(ERROR,"SOME RANDOM ERROR",e);
Thanks,
-Jacob"Jacob Meushaw" wrote in message
Once I get the object represented by my connection pool from the
Weblogic JNDI tree, how do I get a connection from the returned object
of type weblogic.common.internal.ResourceAllocator?
I keep getting ClassCastExceptions.
DataSource ds = (DataSource)ctx.lookup(conPool);I think, you must use narrow operation:
Object reference = ctx.lookup(conPool);
DataSource ds =
(DataSource) PortableRemoteObject.narrow (ds,DataSource.class);
I haven't got time to check it, but I hope that works.
Wojtek -
Issue JDBC connection pool with Glassfish 3.1.2.2 and Oracle XE 11gR2
Hello,
I am experiencing an issue with pinging a JDBC connection Pool.
I installed the following without any warnings or errors:
Operating System: Oracle Enterprise Linux 5
Oracle XE 11gR2 (11.2.0.2.0) database
Glassfish 3.1.2.2
I will refer to the steps I did after the installations
1) In the .profile file of the OS I add the following:
JRE_HOME=/usr/java/jre1.6.0_31; export JRE_HOME
JAVA_HOME=/usr/java/jdk1.6.0_31; export JAVA_HOME
GLASSFISH_DIR=/u01/glassfish3
GLASSFISH_HOME=/u01/glassfish3/glassfish
DERBY_HOME=$GLASSFISH_DIR/javadb
OPEN_MQ_HOME=$GLASSFISH_DIR/mq
PATH=:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$HOME/bin:$GLASSFISH_HOME/bin:$DERBY_HOME/bin:$OPEN_MQ_HOME/bin
export GLASSFISH_HOME
export DERBY_HOME
export OPEN_MQ_HOME
export PATH
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/xe/lib; export LD_LIBRARY_PATH
. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
2) I copied the ojdbc6.jar to the $GLASSFISH_HOME/domains/domain1/lib
3) I login to the Glassfish admin console and created a new JDBC Connection Pool.
Pool Name: ds_orasys
Resource Type: javax.sql.DataSource
Datasource Classname: oracle.jdbc.pool.OracleDataSource
User: [myschema]
Password: [myschema password]
URL: jdbc:oracle:thin:@localhost:1521:xe
When I ping the connection pool I get the following message in the server log:
[#|2012-10-23T12:14:37.069+0300|WARNING|glassfish3.1.2|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.service|_ThreadID=22;_ThreadName=Thread-2;|RAR8054: Exception while creating an unpooled [test] connection for pool [ ds_orasys ], Connection could not be allocated because: Invalid Oracle URL specified|#]
[#|2012-10-23T12:14:37.071+0300|SEVERE|glassfish3.1.2|org.glassfish.admingui|_ThreadID=19;_ThreadName=Thread-2;|RestResponse.getResponse() gives FAILURE. endpoint = 'http://212.205.62.217:4848/management/domain/resources/ping-connection-pool.json'; attrs = '{id=ds_orasys}'|#]
I tried to use different jar files. I used ojdbc6dms.jar and ojdbc14.jar.
I also copied the jar files in the $GLASSFISH_HOME/domains/domain1/lib/ext directory as some people suggested. Still no luck. I keep getting the same error messages in the server.log
Can anybody help me out or point me to the right direction.
Thank you in advanceThe error is in the URL. It was in front of my eyes and I couldn't see the error. I skipped the ':' before the '@' when I created the pool. It is working fine now.
-
JDBC connection pool failures when used by JMS stores
We are using WebLogic 6.1 sp2. We defined a separate connection pool for use by
a JMS Store.
<JDBCConnectionPool Name="sybaseJMSPool"
Targets="cluster00"
InitialCapacity="2"
MaxCapacity="10"
DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Properties="[email protected]@;[email protected]@;charset=utf8"
URL="jdbc:sybase:Tds:@jms.db.host@/@jms.db.name@"/>
(note that the @xxx@ string are replaced by actual values).
We are using Sybase Jconnect 5.5 to a Sybase ASE 12.5 database.
We deployed this configuration on a number of environments (testing, staging,
..). The actual hardware and network configuration is different for the different
system, but the WebLogic domain stays the same regarding this issue.
On the test system we frequently get the following exceptions:
<Aug 13, 2002 1:56:04 PM CEST> <Alert> <JMS> <www00-test> <node00>
<ExecuteThread: '6' for queue: 'JMS.TimerClientPool'> <> <> <040048>
<JMSServer "JMSServer00", store failure while writing message for topic
OrderChangeTopic, java.io.IOException: JMS JDBC store, connection pool =
<sybaseJMSPool>, prefix = <JMS00>: write failed
java.sql.SQLException: JZ006: Caught IOException:
com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
closed.
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
(ErrorMessage.java:715)
at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
(SybStatement.java:1625)
at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
(SybPreparedStatement.java:91)
at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
(P6LogPreparedStatement.java:179)
at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
.>
java.io.IOException: JMS JDBC store, connection pool = <sybaseJMSPool>, prefix
= <JMS00>: write failed
java.sql.SQLException: JZ006: Caught IOException:
com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
closed.
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
(ErrorMessage.java:715)
at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
(SybStatement.java:1625)
at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
(SybPreparedStatement.java:91)
at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
(P6LogPreparedStatement.java:179)
at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
at weblogic.jms.store.JDBCIOStream.throwIOException
(JDBCIOStream.java:1213)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1256)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Before that this message appeared:
<Aug 13, 2002 11:31:16 AM CEST> <Error> <ConnectionManager> <www00-test>
<node00> <ExecuteThread: '26' for queue: 'default'> <> <> <000000>
<Closing: 'weblogic.rjvm.t3.T3JVMConnection@795af6' because of: 'Server
received a message over an uninitialized connection: 'JVMMessage from: 'null'
to: '-4555218188801970213S:192.168.13.1:[7001,7001,7002,7002,7001,7002,-
1]:ADIS:node00' cmd: 'CMD_REQUEST', QOS: '101', responseId: '1',
invokableId: '287', flags: 'JVMIDs Not Sent, TX Context Not Sent', abbrev
offset: '34'''>
This problem did not occur on another system which was used during a 2 day stress
testing session.
It seems that the problem occurs after a period in which no user request where
made. The user requests trigger EJB's that start sending JMS messages.
When the problem occurs, the JMS messaging systems seems to lock up as no messages
are received anymore by the different listeners (MDBs).
Undeploying and redeploying the JBDC connection pool solves the problem. This
solution is unacceptable in case of a production system.
A similarly defined connection pool, which is used by the EJBs to make database
connection, does not manifest this problem.
<JDBCConnectionPool Name="sybasePool"
Targets="cluster00"
InitialCapacity="10"
CapacityIncrement="5"
MaxCapacity="50"
PreparedStatementCacheSize="150"
DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Properties="[email protected]@;[email protected]@;JCONNECT_VERSION=6;charset=utf8"
URL="jdbc:sybase:Tds:@db.host@/@db.name@"/>
The JDBC connection pool is used as follows by the JDBC store
<JMSJDBCStore ConnectionPool="sybaseJMSPool" Name="JDBCStore00" PrefixName="JMS00"/>
<JMSServer Name="JMSServer00" Store="JDBCStore00" Targets="node00">
<JMSTopic JNDIName="ADIS.JMSError" JNDINameReplicated="false" Name="ErrorTopic"/>
<JMSTopic JNDIName="ADIS.Status"
Name="StatusTopic" RedeliveryDelayOverride="300000"/>
<JMSTopic JNDIName="ADIS.OrderChange" JNDINameReplicated="false"
Name="OrderChangeTopic" RedeliveryLimit="3"/>
</JMSServer>
Turning on the "Test Reserved Connection" with a appropriate test table does not
help.
Some sources on the internet tell us that JZ0C0 errors in the Jconnect driver
can be related to network problems. Nevertheless the connection pool should be
able to cope with this.
Can you provide any solution for this ? Or give us hints what can cause the problem
Zhenhao Qi wrote:
thanks! Joe.
The SQL statement itself can no longer be simplified, the long excuation time is due to the database size and complicated Select criteria. I can easily reproduce the problem by using this SQL. I tried "BEA's Oracle driver (Type 4): Version 8.1.7,9.0.1,9.2.0". the question can be dissect into 2 pieces:
1) why the jdbc connection (using oracle.jdbc.OracleDriver) won't return anything if the SQL execution time > 5min, that is probably the Oracle's problem
2) why the occupied connection pool won't release even I set "Statementtimeout=600", this is Weblogic's problem.
ZhenhaoHi. Yes, (1) is oracle's problem. (2) may also be. The JDBC spec has very few
allowances for one thread to interrupt a second thread's JDBC call. If we
transmit your timeout request by calling setQueryTimeout() on the oracle
statement, and if you have a weblogic-controlled transaction we call
Statement.cancel() on any ongoing statement, we end up relying on whether
the Oracle driver implements and responds to those calls.
Are you doing weblogic-controlled transactions? Are you/can you
call Statement.setQueryTimeout() on your statements, or are these
generated JDBC queries?
If you can duplicate the problem using the weblogic.jdbc.oracle.OracleDriver
we have some other debug avenues. This would be good even if you really
want to use the thin driver, because we will do the same JDBC calls to
either driver, and the debug would prove (if) we set up a query timeout
and if we call cancel(). If we do, then we can know that it is the Oracle
driver failing in these regards.
Joe -
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) -
HELP - DB2 v9 & App Server PE 9.0 - PING Connection Pool Failure - HELP
I've been playing around with Studio Creator and DB2 v9 without any issues.
So I figured I would installed App Server PE 9 and use this as my production server that I would deploy to from studio creator.
However, in my efforts to set up db2/v9 I have been trying to ping a connection pool without any luck. I get the following message:
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: [sunm][DB2 JDBC Driver]Resource Limits Reached( ALLOCATE MEMORY FOR NEW SQLSTT FAILED ). Diagnostic Info: FUNCTION ID = 0049 , PROBE POINT = 0400 , TRACE POINT = 0030 , SUBCODE1 = 8B0F0000, SUBCODE2 = 78A68A98, SUBCODE3 = 00000000, ERROR MSG = Parser: Memory allocation error.
My datasource class name is com.sun.sql.jdbcx.db2.DB2DataSource.
And my resource type is javax.sql.datasource
I have copied smbase.jar, smdb2.jar and smutil.jar into c:\sun\appserver\lib
and I have all of the properties (serverName, portNumber, databaseName, user, password) created and set accordingly.
Any help would be greatly appreciated.Here is how I got the DB2 Express-C and Sun PE 9.0 to work. ( at least base connectivity wise )
1. ) You have to have at least the DB2 Client installed on the system that will be communicating to the DB2 instance.
2.) The following jars will be needed ( depending on the driver type used) . db2java.zip, db2jcc.jar, and db2jcc_license_cu.jar and use them in the App Server ->JVM settings -> Path Settings -> Classpath Suffix
3.) The next setup is dependent on the Type driver you use
I used the Type 4 and this is the resource setup I used.
Connection Pool:
Name: DB2TestPool
Datasource Classname: com.ibm.db2.jcc.DB2SimpleDataSource
Resource Type: javax.sql.ConnectionPoolDataSource
Properties:
user: xxxxxx
password: xxxxxx
databaseName: TEST
serverName: <hostname of machine>
portnumber: 50000
driverType: 4
URL: jdbc:db2://<hostname>:<port>/<database>
JDBC Resource:
JNDI Name: jdbc/TEST
Pool Name: DB2TestPool
With this configuration I was able to ping the database as well as connect to create an entity bean from a table. This should give you a starting point.
I have yet to deploy my application, but should be doing that sometime today to verify that a connection can be made and used from within the application. -
Oracle Connection Pool failure in COM+
I am having some trouble trying to get a specific database to work with an application that makes use of a COM+ Application. When we point the application at the UAT database everything seems fine, but when we point it to the production database after a few successful calls it ends up failing at the COM+ application recycles. The event viewer provides the following information:
Event Type: Error
Event Source: COM+
Event Category: Unknown
Event ID: 4786
Date: 8/5/2007
Time: 12:54:46 PM
User: N/A
Computer: APPL_SERVER
Description:
The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.
Component Prog ID: Oracle Connection Pool - tnsnames_alias
Method Name: IDispenserDriver::CreateResource
Server Application ID: {30A93CB3-25EB-4258-8C88-5AE103B7B86F}
Server Application Instance ID:
{A57C513E-519F-45BD-B46D-DC54B285F534}
Server Application Name: COM+ Application Name
The serious nature of this error has caused the process to terminate.
Exception: C0000005
Address: 0x7C8327F9
Call Stack:
+ 0x7c8327f9
ntdll!RtlFindActivationContextSectionGuid + 0x7d2
ntdll!RtlInitializeSListHead + 0x175
ntdll!RtlFindActivationContextSectionGuid + 0x1b7
msvcrt!malloc + 0x6c
oracommon9!sktsfMalloc + 0x14
orageneric9!kpummapg + 0x58
orageneric9!kghalo + 0xabb
orageneric9!kghalf + 0x102
orageneric9!kopo2cpc + 0x61
orageneric9!kopeini + 0x1d
orageneric9!kopo2cpc + 0xd2
orageneric9!kopopgi + 0x117
OraClient9!koudpnp + 0x712
OraClient9!koudpnp + 0x101
OraClient9!kpuinit0 + 0xb19
OraClient9!kpuinit + 0x38
OraClient9!OCIEnvInit + 0x1c
oramts!kpntsrvr::kpntsrvr(class kpntdbid *) + 0x80
oramts!kpntdbid::allocNewSrvr(struct SIDAND_ATTRIBUTES *) + 0x138
oramts!kpntdbid::GetSrvr(class kpntsvrl * *,unsigned long) + 0x7df
oramts!kpntdisp::getNet8conn(class kpntsvrl * *,unsigned long) + 0x41
oramts!kpntsess::initOCI(void) + 0xec
oramts!kpntsess::sessionBegin(void) + 0x17b
oramts!kpntdisp::CreateResource(unsigned long,unsigned long *,long *) + 0xc4
COMSVCS!DispManGetContext + 0xa3d
COMSVCS!DispManGetContext + 0x1fee
oramts!kpntdisp::allocateConnection(class kpntsess * *,unsigned long,class kpntrtyp *) + 0x3c4
oramts!_kpntsvcgetex + 0x183
oramts!_kpntsvcget + 0x25
oramts!kpntctra::getConnectionAndHandles(class kpntrtyp *,struct OCISvcCtx * *,struct OCITrans * *,struct OCIError * *) + 0x87
oramts!kpntctra::abortBranch(struct xid_t &,class kpntbrnch *,struct BOID *,int,struct BOID *) + 0x15a
oramts!kpntctra::doAbort(struct BOID *,int,struct BOID *) + 0x454
oramts!kpntajob::doJob(void) + 0x27
oramts!kpntjobq::serviceRequest(class kpntjob *) + 0x3e
oramts!workerThread(void *) + 0xd0
msvcrt!_endthreadex + 0xa3
kernel32!GetModuleFileNameA + 0xeb
Not being an expert in Oracle, I have been able to dig up a little bit of information that might be of use ...
a) Our tnsnames.ora indicates that the connections are to be DEDICATED and running Toad bares this out -- dllhost ends up with a single connection.
b) most of the database initial set of parameters seem to be very similar. The only difference I noticed was that the archive log mode and db_cache_advice are ON for production.
c) We have little control over how the connection strings are being created internally in this COM+ application, but however they are created it works for UAT and doesn't for PROD.
d) When we go into our web application and hit a page that makes use of the COM+ component to render, it will work the first time but when I do a simple browser refresh it will usually fail on the 2nd or 3rd time. Almost like it is trying to expand the connection pool size and the oracle server is throwing up.
If I didn't mention earlier the two database instances run on different servers but the application server is exactly the same. We only change the alias we are using for the database (both are defined in tnsnames) and the password used to make its connection.
Does anyone have any clues on this one? I am really spinning my wheels trying to figure out what could cause this type of situation. Anything at all would be very helpful.It appeared to us that the problem was with the Oracle server and that it might have been failing when we were trying to expand our application connection pool size or basically obtain more connections.
The biggest indicator of this is that we run the same application code against two different databases and one works and one does not work. Having said this, I suppose the problem could be rooted in a data error instead of an oracle server error ...
Is there a specific trace file on the oracle server that would help me point to any error that is truly an oracle server error? Sorry I am very new to Oracle. -
Connection pool size limit error
Hi all,
I am trying to execute a BAPI function from MII, execution fails with the following message;
[ERROR] Unable to make RFC call Exception: [Problem retrieving JCO.Function object: Connection pool <ECC_Server>:800:02:EN:ECCUser is exhausted. The current pool size limit (max connections) is 1 connections.]
[WARN] [SAP_JCo_Function_0] Skipping execution of output links due to action failure.
[ERROR] Uncaught exception from SAP_JCo_Function_0, Problem retrieving JCO.Function object: Connection pool <ECC_Server>:800:02:EN:ECCUser is exhausted. The current pool size limit (max connections) is 1 connections.
Config:
1. In 'SAP MII: Connections' of type JCO and have given pool size to 100.
2. In 'SAP MII: Credential Stores' store is created and same is being used in Start Session.
3. In JCO_Function block, we can search for the Function Module and set it.
MII Version:
14.0.2 Build(82)
Am I missing something?
Has any one seen this? please advise.
Thanks,
Message was edited by: Shridhar NCheck if there is another JCo connection configured with the same IP and User. I have found in the past that even though there are two connections configured because they have the same ip and user they are put into one pool with the lowest max pool of the two connections.
-
Cursor bound to out parameter with Connection Pool
Is it possible to retrieve a cursor bound to an out parameter when using the thin
driver to establish the connection pool to the database? I am currently using
the JDriver to connect create the pool and the pool driver to connect from the
app to the connection pool. We'd like to avoid using the Oracle client if possible.
Currently I register the out parameter as java.sql.Types.OTHER, then call getResultSet(1)
on the weblogic.jdbc.pool.CallableStatement object. But it breaks when I change
the connection pool to use the thin driver. The error is at the bottom of this
post.
I think I could possibly get the current pool driver to work if can find some
documentation on these two methods:
void registerOutParameter(int i, int j, int k, int l)
void registerOutParameter(int i, int sqlType, java.lang.String typeName)
I have no idea what to put in for the ints in the first method or for sqlType
or typeName. Can anyone point me to where I can find this documentation?
E-docs mentions this class: weblogic.jdbc.vendor.oracle.OracleCallableStatement.
(http://edocs.bea.com/wls/docs61/jdbc/thirdparty.html#1023867). Should I consider
this? If so where is it?
Thanks a lot,
Matt Savino
<<< error when using thin driver >>>
preparing callable stmt
callable stmt prepared, java.sql.Types.OTHER = 1111
java.sql.SQLException: Invalid column type
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273)
at oracle.jdbc.driver.OracleStatement.get_internal_type(OracleStatement.java:4560)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:225)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:350)
at weblogic.jdbc.pool.Statement.registerOutParameter(Statement.java:617)
at jsp_servlet._reportmanager.__thin_outputresultset._jspService(__thin_outputresultset.java:145)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2390)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)Thanks Joe, your answer pointed me in the right direction. Just in case anyone
wants to know, the solution took two changes:
CHANGE
cStat.registerOutParameter(1, java.sql.Types.OTHER);
TO
cStat.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.CURSOR);
(cStat is an instance of weblogic.jdbc.pool.CallableStatement)
AND
rs = cStat.getResultSet(1);
TO
rs = cStat.getCursor(1);
Thanks again,
Matt
Joseph Weinstein <[email protected]> wrote:
Hi Matt.
Look at the Oracle thin driver documentation to determine what type you
should define in the registerOutParameter call. We use 'OTHER', but
their driver may use something else for CURSOR output parameters.
joe
Matt Savino wrote:
Is it possible to retrieve a cursor bound to an out parameter whenusing the thin
driver to establish the connection pool to the database? I am currentlyusing
the JDriver to connect create the pool and the pool driver to connectfrom the
app to the connection pool. We'd like to avoid using the Oracle clientif possible.
Currently I register the out parameter as java.sql.Types.OTHER, thencall getResultSet(1)
on the weblogic.jdbc.pool.CallableStatement object. But it breaks whenI change
the connection pool to use the thin driver. The error is at the bottomof this
post.
I think I could possibly get the current pool driver to work if canfind some
documentation on these two methods:
void registerOutParameter(int i, int j, int k, int l)
void registerOutParameter(int i, int sqlType, java.lang.String typeName)
I have no idea what to put in for the ints in the first method or forsqlType
or typeName. Can anyone point me to where I can find this documentation?
E-docs mentions this class: weblogic.jdbc.vendor.oracle.OracleCallableStatement.
(http://edocs.bea.com/wls/docs61/jdbc/thirdparty.html#1023867). Should
I consider
this? If so where is it?
Thanks a lot,
Matt Savino
<<< error when using thin driver >>>
preparing callable stmt
callable stmt prepared, java.sql.Types.OTHER = 1111
java.sql.SQLException: Invalid column type
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273)
at oracle.jdbc.driver.OracleStatement.get_internal_type(OracleStatement.java:4560)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:225)
at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:350)
at weblogic.jdbc.pool.Statement.registerOutParameter(Statement.java:617)
at jsp_servlet._reportmanager.__thin_outputresultset._jspService(__thin_outputresultset.java:145)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2390)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
PS: Folks: BEA WebLogic is expanding rapidly, with both entry and advanced
positions
for people who want to work with Java, XML, SOAP and E-Commerce infrastructure
products.
We have jobs at Nashua NH, Liberty Corner NJ, San Francisco and San Jose
CA.
Send resumes to [email protected] -
Problem in DBCP Connection Pooling with BLOB in Tomcat
Hi All,
I am using the DBCP connection pooling in tomcat server version 6.0.18.
I have session table which maintains the session details of the user in BLOB column. Recently I am facing a problem. When a user logs in, I am storing the session details in the DB. It throws an exception like this. When I restart the tomcat, it just works fine. But after some days it is again throwing the same exception.
Code:
2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.JdbcTemplate] - Executing prepared SQL statement [INSERT INTO SESSION (SESSION_CODE,LAST_ACCESS,VALID_SESSION,SESSION_DATA) VALUES(?,?,?,?)]
2009-01-27 06:03:13,789 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] bound to thread [http-8443-6]
2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 1, parameter value [c2896a488efb7fe15430fab10d502577], value class [java.lang.String], SQL type unknown
2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 2, parameter value [1233064993], value class [java.lang.Long], SQL type unknown
2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 3, parameter value [1], value class [java.lang.Integer], SQL type unknown
2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] - Setting SQL statement parameter value: column index 4, parameter value [org.springframework.jdbc.core.support.SqlLobValue@18af32e], value class [org.springframework.jdbc.core.support.SqlLobValue], SQL type 2004
2009-01-27 06:03:13,789 DEBUG [org.springframework.jdbc.support.lob.DefaultLobHandler] - Set bytes for BLOB with length 390
2009-01-27 06:03:13,789 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] bound to thread [http-8443-6]
2009-01-27 06:03:13,790 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Retrieved value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] bound to thread [http-8443-6]
2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator] - Unable to translate SQLException with Error code '17410', will now try the fallback translator
2009-01-27 06:03:13,790 INFO [web.controller.LoginController] - Caught Exception while creating sesion in DB
2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Triggering beforeCompletion synchronization
2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Initiating transaction rollback
2009-01-27 06:03:13,790 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Rolling back JDBC transaction on Connection [jdbc:oracle:thin:@stagedb1c:2115:WEB1C, UserName=WEBAPP, Oracle JDBC driver]
2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Triggering afterCompletion synchronization
2009-01-27 06:03:13,791 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Clearing transaction synchronization
2009-01-27 06:03:13,791 DEBUG [org.springframework.transaction.support.TransactionSynchronizationManager] - Removed value [org.springframework.jdbc.datasource.ConnectionHolder@154136a] for key [org.apache.commons.dbcp.BasicDataSource@bdec44] from thread [http-8443-6]
2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceTransactionManager] - Releasing JDBC Connection [connection is closed] after transaction
2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Returning JDBC Connection to DataSource
2009-01-27 06:03:13,791 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Could not close JDBC Connection
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:313)
at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:274)
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doCleanupAfterCompletion(DataSourceTransactionManager.java:316)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:966)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:832)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:777)
at web.controller.LoginController.onSubmit(LoginController.java:109)
at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
My Session table has the following structure:
Code:
Name Null? Type
SESSION_CODE NOT NULL VARCHAR2(100)
LAST_ACCESS NOT NULL NUMBER
VALID_SESSION NOT NULL NUMBER
SESSION_DATA NOT NULL BLOB
I have the following in the Spring context file :
Code:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="initialSize" value="5"/>
<property name="maxActive" value="5"/>
<property name="minIdle" value="2"/>
<property name="poolPreparedStatements" value="true"/>
<property name="defaultAutoCommit" value="false"/>
</bean>
I am using the oracle.jdbc.driver.OracleDriver as jdbc driver. And also using the commons-dbcp-1.2.2.jar and ojdbc14.jar.
Can some one help me out to solve this issue?
Thanks in Advance.I am also facing the same problem, please let me know if there any suggestions,
DEBUG|2010-05-07 16:41:25,866|main|(SQLErrorCodeSQLExceptionTranslator.java:266)|org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator|Unable to translate SQLException with Error code '17410', will now try the fallback translator
DEBUG|2010-05-07 16:41:25,866|main|(SQLStateSQLExceptionTranslator.java:94)|org.springframework.jdbc.support.SQLStateSQLExceptionTranslator|Extracted SQL state class '08' from value '08000'
thanks
sundaravel n -
Issues with JDBC Connection Pooling
Hi all,
I'm experiencing some unexpected behaviour when trying to use JDBC Connection Pooling with my BC4J applications.
The configuraiton is -
Web Application using BC4J in local mode
Using Default Connection Stagegy
Stateless Release Mode
Retrieving Application Modules using Configuration.createRootApplicationModule( am , cf );
Returning Application Modules using Configuration.releaseRootApplicationModule( am, false );
Three application modules
AppModuleA - connects to DatabaseConnection1
AppModuleB - connects to DatabaseConnection2
AppModuleC - connects to DatabaseConnection2
My requirement is to -
Use App Module Pooling and have individual pool for each Application Module
Use JDBC Pooling and have individual pool for each Database connection
Note: All configuration was achieved in design mode (i.e. right clicking AppModule->Configurations...)
1. Initial approach -
In the configuration for each Application Module I specified the connection type as 'JDBC Datasource' and specified to approriate datasource.
Tried setting doConnecitonPooling to 'true' as well as 'false'
In the data-sources.xml I specified all the appropriate info including min-connections and max-connections.
I would expect, with the above config that BC4J would use OC4J's built in JDBC connection pooling.
2. Second approach -
In the configuration for each Application Module I specified the connection type as JDBC URL.
In the configuration I specified doConnectionPooling = 'true' as well as the max connection, max available and min available
What I experienced in both cases was that the max connections seem to be ignored as the number of connection as reported by the database (v$session) was exceeded by more than 10.
In addition to this once the load was removed the number of JDBC connecitons did not drop (I would have expected it to drop to max available connections)
My questions are -
1. When specifying to use a 'JDBC Datasource' style of connection, is it in fact OC4J that is then responsible for pooling JDBC connections? And in this case should BC4J's doConnectionPooling parameter be set to true or false?
2. Are there any known issues with the use of the JDBC Conneciton Pool as stated by the above to approaches?Thanks for the additional info. Please see my comments. below.
Sorry should have been more specififc -
1. Is each application pool using a different JDBC user? You mentioned DatabaseConnection1 and DatabaseConnection2
above; are these connections to different schemas / users? If so, BC4J will create a separate connection pool for each
JDBC user. Each connection pool will have its own maximum pool size.
Each 'DatabaseConnection' refers to a different database, actually hosted on a seperate physical server, different
schema and different user.BC4J will maintain a separate connection pool for each permutation of JDBC URL / schema. If each user is connecting
to a different DB instance then I would expect no greater than 10 DB sessions. However, if a DB instance is hosting
more than user then I would expect greater than 10 DB sessions (though still no more than 10 DB sessions per user).
2. Are all the v$session sessions related to the JDBC clients? There should be at least one additional database
session which will be related to the session that is querying v$session.
When querying the v$session table I specifically look for connections from the user in quesiton and from the machine
name in question and in doing so eliminate the database system's connections, as well as the query tools'
connection. One area I'm not sure about is the connection BC4J uses to write to its temporary tables. I am using
Stateless release mode and have not explicetly stated to save to the database but I'm wondering if it still does if so
and how does it come into the equation with max connections?BC4J's internal connections are also pooled and the limits apply as mentioned above. So, if you have specified
internal connection info for a schema which is different than the users above I would expect the additional conns.
One helpful diagnostic tool, albeit programmatic, might be to print the information about the connection pools after
your test client(s) have finished. This may be accomplished as follows:
// get a reference to the BC4J connection pool manager
import oracle.jbo.server.ConnectionPoolManagerFactory;
import oracle.jbo.server.ConnectionPoolManagerImpl;
import oracle.jbo.pool.ResourcePool;
import java.io.PrintWriter;
import java.util.Enumeration;
// get the ConnectionPoolManager. assume that it is an instance of the supplied manager
ConnectionPoolManagerImpl mgr = (ConnectionPoolManagerImpl)ConnectionPoolManagerFactory.getConnectionPoolManager();
Enumeration keys = mgr.getResourcePoolKeys();
PrintWriter pw = new PrintWriter(System.out, true);
while (keys.hasMoreElements())
Object key = keys.nextElement();
ResourcePool pool = (ResourcePool)mgr.getResourcePool(key);
System.out.println("Dumping pool statistics for pool: " + key);
pool.dumpPoolStatistics(pw);
} -
SOA 11.1.1.3.0 - Connection Pool has been suspended during weak load
Hi,
I have a SCA with different BPEL, all uses several db adapters.
Each db adapter has retry count set to 1.
Each bpel has the following properties:
<property name="bpel.config.transaction" many="false">required</property>
<property name="bpel.config.inMemoryOptimization">true</property>
<property name="bpel.config.completionPersistPolicy">off</property>When I do a simple load testing (with 10 concurrent threads invoking the same SCA webservice) my connection pool is suspended.
Here is my connection pool configuration:
<?xml version='1.0' encoding='UTF-8'?>
<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.0/jdbc-data-source.xsd">
<name>DEV__DB</name>
<jdbc-driver-params>
<url>jdbc:oracle:thin:@10.17.5.50:1521:orcl</url>
<driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name>
<properties>
<property>
<name>user</name>
<value>DEV_</value>
</property>
</properties>
<password-encrypted>{AES}UiaJC9d4Fl7jWHkcrYttu5E+wpOB4Jw1QKwTSA0ARtE=</password-encrypted>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
</jdbc-driver-params>
<jdbc-connection-pool-params>
<initial-capacity>0</initial-capacity>
<max-capacity>100</max-capacity>
<capacity-increment>1</capacity-increment>
<shrink-frequency-seconds>900</shrink-frequency-seconds>
<highest-num-waiters>2147483647</highest-num-waiters>
<connection-creation-retry-frequency-seconds>10</connection-creation-retry-frequency-seconds>
<connection-reserve-timeout-seconds>10</connection-reserve-timeout-seconds>
<test-frequency-seconds>300</test-frequency-seconds>
<test-connections-on-reserve>true</test-connections-on-reserve>
<ignore-in-use-connections-enabled>true</ignore-in-use-connections-enabled>
<inactive-connection-timeout-seconds>0</inactive-connection-timeout-seconds>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<login-delay-seconds>0</login-delay-seconds>
<statement-cache-size>100</statement-cache-size>
<statement-cache-type>LRU</statement-cache-type>
<remove-infected-connections>true</remove-infected-connections>
<seconds-to-trust-an-idle-pool-connection>0</seconds-to-trust-an-idle-pool-connection>
<statement-timeout>-1</statement-timeout>
<jdbc-xa-debug-level>10</jdbc-xa-debug-level>
<pinned-to-thread>false</pinned-to-thread>
</jdbc-connection-pool-params>
<jdbc-data-source-params>
<jndi-name>jdbc/soSvilDB</jndi-name>
<global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol>
</jdbc-data-source-params>
<jdbc-xa-params>
<keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
<need-tx-ctx-on-close>false</need-tx-ctx-on-close>
<xa-end-only-once>false</xa-end-only-once>
<keep-logical-conn-open-on-release>false</keep-logical-conn-open-on-release>
<resource-health-monitoring>true</resource-health-monitoring>
<recover-only-once>false</recover-only-once>
<xa-set-transaction-timeout>false</xa-set-transaction-timeout>
<xa-transaction-timeout>0</xa-transaction-timeout>
<rollback-local-tx-upon-conn-close>false</rollback-local-tx-upon-conn-close>
<xa-retry-duration-seconds>300</xa-retry-duration-seconds>
<xa-retry-interval-seconds>60</xa-retry-interval-seconds>
</jdbc-xa-params>
</jdbc-data-source>Here is the error:
[2011-04-22T12:36:52.026+02:00] [OJDL] [NOTIFICATION:16] [ODL-52001] [oracle.core.ojdl.FileLogWriter] [org: Oracle] [host: soa.linux55.reply] [nwaddr: 10.17.5.69] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oracle] deleting log file: soa_server1-diagnostic-179.log, size: 10485438 bytes
[2011-04-22T12:36:51.985+02:00] [soa_server1] [ERROR] [] [oracle.soa.mediator.serviceEngine] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000Ixwm9CqEcLH5yvs1yW1DgLRV000081,0] [WEBSERVICE_PORT.name: AlarmsRetrieverPortType_pt] [APP: soa-infra] [composite_name: AlarmRetreiverProject] [component_name: AlarmRetrieverMediator] [component_instance_id: 6E8716B06CCC11E0AF65F721A176C6C2] [J2EE_MODULE.name: fabric] [dcid: 0f2f96dd491b9522:5032bc97:12f7cbc8b1d:-7ffc-0000000000001701] [WEBSERVICE.name: AlarmRetrieverMediator_ep] [J2EE_APP.name: soa-infra] [composite_instance_id: 250014] Got an exception: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}[[
parts: {{
summary=<summary>Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'GetTrainAlarms_dba' failed due to: Pure SQL Exception.
Pure SQL Execute of select aa.* from <OMITTED>
Caused by java.sql.SQLException: Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:61)
at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1670)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1438)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:439)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:396)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:355)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:126)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:94)
at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:327)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:295)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:558)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1437)
at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:303)
at oracle.tip.adapter.db.DBConnection.getTopLinkSQLConnection(DBConnection.java:335)
at oracle.tip.adapter.db.transaction.DBTransaction.beginInternal(DBTransaction.java:126)
at oracle.tip.adapter.db.puresql.PureSQLInteraction.executePureSQL(PureSQLInteraction.java:165)
at oracle.tip.adapter.db.DBInteraction.executePureSQL(DBInteraction.java:1178)
at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:255)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:303)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:519)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeSyncJcaReference(JCAInteractionInvoker.java:492)
at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performSynchronousInteraction(JCAEndpointInteraction.java:472)
at oracle.integration.platform.blocks.adapter.AdapterReference.request(AdapterReference.java:166)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy284.request(Unknown Source)
at oracle.fabric.CubeServiceEngine.requestToMesh(CubeServiceEngine.java:797)
at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:262)
at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1073)
at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:526)
at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:127)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:70)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:162)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2465)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1133)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:219)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:327)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4350)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4282)
at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:108)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvokeParticipate(CubeEngineBean.java:186)
at sun.reflect.GeneratedMethodAccessor930.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
at sun.reflect.GeneratedMethodAccessor833.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy282.syncCreateAndInvokeParticipate(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvokeParticipate(BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.java:328)
at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:788)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:528)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:487)
at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:162)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.request(CubeDeliveryBean.java:607)
at sun.reflect.GeneratedMethodAccessor933.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
at sun.reflect.GeneratedMethodAccessor833.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy279.request(Unknown Source)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.request(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:462)
at oracle.fabric.CubeServiceEngine.request(CubeServiceEngine.java:358)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy284.request(Unknown Source)
at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request2Mesh(MediatorServiceEngine.java:1063)
at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:202)
at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:94)
at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:74)
at oracle.tip.mediator.service.SyncRequestResponseHandler.process(SyncRequestResponseHandler.java:79)
at oracle.tip.mediator.service.ActionProcessor.onMessage(ActionProcessor.java:64)
at oracle.tip.mediator.dispatch.MessageDispatcher.executeCase(MessageDispatcher.java:140)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCase(InitialMessageDispatcher.java:495)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:393)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processNormalCases(InitialMessageDispatcher.java:276)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:251)
at oracle.tip.mediator.dispatch.InitialMessageDispatcher.dispatch(InitialMessageDispatcher.java:148)
at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.process(MediatorServiceEngine.java:860)
at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request(MediatorServiceEngine.java:716)
at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy284.request(Unknown Source)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.doMessageProcessing(WebServiceEntryBindingComponent.java:1169)
at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:768)
at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1168)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:996)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:562)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:222)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:186)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:430)
at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:477)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.
</summary>
,detail=<detail>Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
</detail>
,code=<code>0</code>}
oracle.tip.mediator.infra.exception.MediatorException: ORAMED-03303:[Unexpected exception in case execution]Unexpected exception in request response operation "process" on reference "DEV_bpel_client". Possible Fix:Check whether the reference service is properly configured and running or look at exception for analysing the reason or contact oracle support.
at oracle.tip.mediator.service.SyncRequestResponseHandler.handleFault(SyncRequestResponseHandler.java:215)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}I configured it using the Oracle User Guide For Technology Adapters, paragraph 2.21, but I still have the issue.
Please can someone help me out?Also, the strange thing is that if I monitor the Datasource (that has a 100 conn. capacity) I see that it is not overloaded:
Server Sorted Ascending Enabled State JDBC Driver Active Connections Average Count Active Connections Current Count Active Connections High Count Connection Delay Time Connections Total Count Curr Capacity High Count Current Capacity Failed Reserve Request Count Failures To Reconnect Count Highest Num Available Leaked Connection Count Num Available Num Unavailable Prep Stmt Cache Add Count Prep Stmt Cache Current Size Prep Stmt Cache Delete Count Prep Stmt Cache Hit Count Prep Stmt Cache Miss Count PrepStmt Cache Access Count Reserve Request Count Wait Seconds High Count Waiting For Connection Current Count Waiting For Connection Failure Total Waiting For Connection High Count Waiting For Connection Success Total Waiting For Connection Total
soa_server1 false Suspended oracle.jdbc.xa.client.OracleXADataSource 0 9 9 19049 36 10 9 81 0 10 0 0 9 18 18 0 0 18 18 380 0 0 0 0 35 0 -
How database connection pooling works in a application
Hi Guys,
I am new to Java and looking into best way of doing J2ee database conectivity. I am using Eclipse galileo3.5 J2EE with Mysql database and Tomcate 6.0.
I am developing an email application where I need to implement MVC model for my webapplication, using jsp for presentation, servlet for control and java beans for model.
I came across two tutorial for database connection pooling as given below.
Eclipse Corner Article: Creating Database Web Applications with Eclipse - In this tutorial connection pooling is configure in Tomcate 6.0
It says Copy and paste the following into your context.xml file (you may have to click on the Source tab at the bottom of the editor to be able to paste). This defines a DataSource with the name "jdbc/SampleDB". Our application will retrieve database connections from the pool using this name.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/SampleDB" auth="Container"
type="javax.sql.DataSource"
username="app" password="app"
driverClassName="org.apache.derby.jdbc.ClientDrive r"
url="jdbc:derby://localhost:1527/sample"
maxActive="8" />
</Context>
Where as in second tutorial - http://www.roseindia.net/answers/viewanswers/2838.html
It uses java bean for connection pooling and then use straight way in JSP and no Servlet used.
conpool.jsp
<%@page import="java.sql.Connection"%>
<jsp:useBean id="pl" class="com.CoreJava.ConnectionPooling"/>
<% Connection con = pl.getConnection(); %>
//do something using con
connectionPooling.java
import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolD ataSource;
public class ConnectionPooling
static Connection con=null;
public static Connection getConnection()
try
MysqlConnectionPoolDataSource po=new MysqlConnectionPoolDataSource();
po.setServerName("localhost");
po.setPortNumber(3306);
po.setDatabaseName("mydatabase"); //changeur database name
po.setUser("root");//ur username
po.setPassword("");//ur password
con = po.getConnection();
catch(Exception e)
System.out.println("Exception Connection :"+e);
return con;
Please some one explain which is the best way of doing connection pooling to the database by using MVC pattern
Please if some one advise me how to use MVC architecture for simple email application and database connectivty.
Thanks>
>
Where as in second tutorial - http://www.roseindia.net/answers/viewanswers/2838.html
Never EVER use roseindia. It is terrible shit.
[http://balusc.blogspot.com/2008/06/what-is-it-with-roseindia.html]
The correct answer is what you found in the eclipse article. And you can read the Tomcat docs for more.
As per usual the code you have posted from Roseindia is a big pile of rubbish that was written by a complete idiot. I mean the person who wrote it apparently doesn't know much Java at all. Let alone JDBC. Or Connection pools. Or J2EE. It's not the worst I've seen from them but it's pretty bad. -
Proxy functionality in the database connection pool
Hi,
I am scouring the internet and forums looking for a way to connect to my database from the .rpd connection pool using proxy authetication. NOT Act-As proxy that is a BIEE feature, but RDBMS proxy authentication with BIEE acting as the middle-tier connecting on behalf of many users and authenticating to the RDBMS AS THE INDIVIDUAL USER. I haven't had any luck, and am hoping someone here has set up this same kind of access.
We have a requirement to use SSO with BIEE to integrate with our portal and discoverer apps. We also have a requirement to use EUS (Enterprise User Security). EUS allows you to login to the database using the userids/password from OID. Note that the database doesn't support the SSO token, but it uses the same userid/password stored in OID for authenticating to the database. You still must initiate a connection to the database, but the authentication goes to LDAP. Every connection to BIEE may be using a different userid - we will not have a shared login.
So the issue I see is:
- We configure SSO
- In the BI Server the :USER session variable is set (but NOT :PASSWORD, since BI Server didn't authenticate you it doesn't have the password)
- We create a connection pool - This is where we hit the issue - we need each connection to BI Server to connect down to the database as the SSO user. Since we aren't using a shared account we can't enter a userid/password in this connection. We also can't user :USER and :PASSWORD since SSO doesn't set the :PASSWORD session variable. What I would hope to find is a checkbox "Proxy Authentication" (around where "Shared Logon" checkbox is located) that would connect to the database as the proxy user and then switch to the SSO user.
This is what happens with BI Publisher. On the JDBC connection screen there is a "Proxy Authentication" checkbox.
So, has anyone already solved this problem? Thanks!Hello, is there anyone knows what this program does
and how this program is executed? There is nodatabase
mentioned.That's because it's expecting the URL (which contains
the database type, hostname, and so on) to be passed
in on the command line (argv[0]), as well as the
username and password (argv[1] and argv[2]).
Thank you very much for your help.
Regards,
Lucas
Maybe you are looking for
-
How can I manage playlists on my iPhone 6?
I just got my iPhone 6 and can't figure out how to create and manage music playlists!! First I created one, added some tunes. but then I wasn't able to add more (the only editing options were to delete songs on the playlist or delete the list altoget
-
Days and months not showing up in English
I just got a new ipad and the days of the week and the names of the months show up in Dutch not English in my calendar and e-mail. How do I fix this?
-
How to process the reports synchronously...
Hi, We are having a set of reports. When multiple requests are coming into the server, all the requests were maintained in the Queue and processed one after the other. Due to this many requests are starving in the queue. Is there any way to process t
-
Dear All, i ahave created new user ID I am able to create /search the document (DIR) in easy DMS but that document has not display in public folder. why ? Kindly help rgds
-
Hi guys, We are a small IT service provider and MS partner. We don't use SCCM for config management, and our alternative product has a file-level / VM backup option that we are using for our clients. All of our clients are connected to us via VPN, MP