Use of Semaphore in addition to db connection pool
Hi,
I have a multi-threaded app, about 4 threads, reading from a local DB then pushing to a web service,
then writing a response back to the local DB. I'm using Commons DBCP with a size of 20.
Do you think there is any added benefit to using semaphore to safe-guard access to the DB pool?
Will this prevent any deadlocks in a more thorough manner?
iketurner wrote:
Yes,
after I am done with the connection I explicitly close it:
conn.closeThis should handle things for me.
I will add in the use of finally
Will this make a difference you think, even though I am using conn.close()?whenever you use a "resource" you should close it in a finally block. otherwise you can leak resources if you encounter problems (i.e. throw exception):
Connection c = null;
try {
c = ...;
// do something with c
} finally {
if(c != null) {
c.close();
}this is a must if you are using db connections, otherwise an exception thrown during the "do something with c" part will cause your connection to not be closed. then you would encounter problems later as all you run out of connections in your connection pool and your application hangs.
Similar Messages
-
Using commons dbcp in SOA 8 for connection pool?
Hi there,
It is possible to use commons dbcp in SOA 8 for connection pool ing?
At far I tried SOA 8 does not work either Mckoi and AS400 databases jdbc drivers in a connection pool.
So having the experience with Tomcat and commons-dbcp with successfull connection pools, I am trying to use a alternative database connection pool, or use SOA8 connection pool using commons-dbcp and it with our AS400 db.
Do you think it is possible?
Thanks for your input!
Lorenzo JimenezI am really lost.
All I know i that I used this jtopen driver on tomcat with and without connection pool.
I used the same parameters, but SOA implementation or program is different. Maybe is the 1.4 api, maybe is the jdbc expected.
Really don't know.
What I know I as400 and mckoi drivers don't work where in Tomcat work ok.
Please check this thread with the error that SOA gave to me
http://forum.java.sun.com/thread.jsp?forum=136&thread=524472&tstart=0&trange=15
Thanks,
Lorenzo -
Best way to use Sun Web Server connection pooling with Web Application?
I have a number of applications that run Oracle and MySQL queries via Sun Web Server 6.1. I use the Web Server's built-in connection pooling, which works fairly well.
As an interface with the connections I receive from the Web Server, I use a class, which (1) accepts the SQL and database name from a tool, (2) Opens the connection, runs the SQL, closes the connection, (3) puts the content of the result set into a Vector of Hashtables, (4) returns that Vector to the tool.
Why do I use this Vector? That way, in my applications, I don't have to deal with opening connections (or getting them from the pool) and I don't have to worry about closing connections, because that's done automatically by the interface class.
Is this a dumb approach to use? I'm a bit paranoid about open DB connections, because we have had a number of problems where connections would not be closed, go stale in oracle, and clog up the database resources.
Can you suggest a better way to (1) smartly control opening and closing connections, and (2) enabling fast database access?
Sorry, but given this Java/Sun Web Server double topic, I'm going to post the same message on the Web Server board.
Any tips?
dailysun
P.S. For instance, in my tool, I call the interface class in this manner:
Vector results_v = Database.getSelect("SELECT * FROM TEST","database1");
getSelect uses the first string as the SQL and the second string as the jndi name of the Web server's database resource. getSelect does all the context stuff to get a connection from the pool, runs the SQL, puts the resultset into a Vector of Hastables (where each row is one Hashtable), and returns the Vector.I have a number of applications that run Oracle and MySQL queries via Sun Web Server 6.1. I use the Web Server's built-in connection pooling, which works fairly well.
As an interface with the connections I receive from the Web Server, I use a class, which (1) accepts the SQL and database name from a tool, (2) Opens the connection, runs the SQL, closes the connection, (3) puts the content of the result set into a Vector of Hashtables, (4) returns that Vector to the tool.
Why do I use this Vector? That way, in my applications, I don't have to deal with opening connections (or getting them from the pool) and I don't have to worry about closing connections, because that's done automatically by the interface class.
Is this a dumb approach to use? I'm a bit paranoid about open DB connections, because we have had a number of problems where connections would not be closed, go stale in oracle, and clog up the database resources.
Can you suggest a better way to (1) smartly control opening and closing connections, and (2) enabling fast database access?
Sorry, but given this Java/Sun Web Server double topic, I'm going to post the same message on the Web Server board.
Any tips?
dailysun
P.S. For instance, in my tool, I call the interface class in this manner:
Vector results_v = Database.getSelect("SELECT * FROM TEST","database1");
getSelect uses the first string as the SQL and the second string as the jndi name of the Web server's database resource. getSelect does all the context stuff to get a connection from the pool, runs the SQL, puts the resultset into a Vector of Hastables (where each row is one Hashtable), and returns the Vector. -
How to use connection pools in production environment
Hai
We are using Statless Session beans which will call bean managed entity beans
as a developer we completed the first phase of our project successful but when
comming to the production environment they(Higher authoritites of the company)
are asking abt the connection pools. Suppose if my wlserver5.1 has 100 hits per
a second how many connection pools i need to put in the production envirornment
and also is it the right way to increase the connectionpools depends upon the
clients hits????. Can anybody help me regarding this It is very urgent for us.
Cheers Kiran NallamHi Aravind,
It can be used only for calculation kinda "minimum size".
Nothing can prevent a developer from writing something
like this:
Connection con1 = ds.getConnection();
Connection con2 = ds.getConnection();
Connection con3 = ds.getConnection();
Regards,
Slava Imeshev
"Aravind Krishnasamy" <[email protected]> wrote in message news:3bfa85f6
You can fix the size of the weblogic connection pool depending on yourexecute
thread count value. For example the default value of execute thread countvalue
is 15. So at a given point of time you cannot use more then 15 databaseconnection.
Database connection pool size should be equal to or less then the size ofexecute
thread count
"Slava Imeshev" <[email protected]> wrote:
Hi Kiran,
It's hard to provide exact dependence between number of hits
and actual number of consumed connections because it's a highly
variable distributed environment. But the general approach is
simple - before rolling out your application, make sure you
tested it under simulated peak load. Your connection pool should
have enough connections to serve peak load. Without such a testing
you will never know whether your app scales or not.
Regards,
Slava Imeshev
"Kiran" <[email protected]> wrote in message
news:3bf9d676$[email protected]..
Hai
We are using Statless Session beans which will call bean managed entitybeans
as a developer we completed the first phase of our project successfulbut
when
comming to the production environment they(Higher authoritites of thecompany)
are asking abt the connection pools. Suppose if my wlserver5.1 has100
hits per
a second how many connection pools i need to put in the productionenvirornment
and also is it the right way to increase the connectionpools dependsupon
the
clients hits????. Can anybody help me regarding this It is very urgentfor
us.
Cheers Kiran Nallam -
Oracle connection pool problem (dbcp binded with jtom)
Hi,
my webserver is Tomcat5.0.18, I want to offer the connection pool and transaction management
in my currently system
I know in Tomcat5.0 version, we can use the DBCP to offer the database connection pool
service, to apply the transaction management in my system, I adapt the JTOM
now, my problem is
to use DBCP, I setup the datasource factory to be
org.apache.commons.dbcp.BasicDataSourceFactory, the connection pool is ok, but
the transaction management offerred by JTOM will failure
to make the tranaction management of JTOM succeed, I have to setup the datasource factory to be
org.objectweb.jndi.DataSourceFactory, but the connection pool offerred by Tomcat will failure now
it seems that these two datasource factory has conflict
How can I do?, I don't want to use the connection pool offerred in JTOM
Anyone can help me??
Thanks in advanceHi,
I don't know the solution for JOTM, but you could try this JTA and its connection pools:
http://www.atomikos.com ships a JTA that integrates with Tomcat and also provides JDBC connection pooling. There is a GUI control panel so that you don't have to know the XML details for Tomcat's config files.
Best,
Guy -
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] -
XA error when starting WLS6.1(SP2) with XA connection pools
I am running WLS6.1 on HPUX11 with an Oracle Database 8.1.7. I am using the XA jDriver/Oracle
for my connection pools but when I start the server I get the following error:-
<Apr 25, 2002 6:10:21 PM BST> <Error> <JDBC> <neptune.xenicom.net> <myserver> <main>
<system> <> <001060> <Cannot startup connection pool "test" weblogic.common.ResourceException:
java.s
ql.SQLException: open failed for XAResource 'test' with error XAER_RMERR : A resource
manager error has occured in the transaction branch. Check Oracle XA trace file(s)
(if any) for database
errors. The Oracle XA trace file(s) are located at the directory where you start
the Weblogic Server, and have names like xa_<pool_name><MMDDYYYY>.trc.
at weblogic.jdbc.oci.xa.XAConnection.<init>(XAConnection.java:58)
at weblogic.jdbc.oci.xa.XADataSource.getXAConnection(XADataSource.java:601)
at weblogic.jdbc.common.internal.XAConnectionEnvFactory.makeConnection(XAConnectionEnvFactory.java:200)
at weblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnectionEnvFactory.java:57)
at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy29.updateDeployments(Unknown Source)
at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2761)
at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:370)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy38.start(Unknown Source)
at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1180)
at weblogic.management.Admin.finish(Admin.java:590)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:518)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
at weblogic.Server.main(Server.java:35)
at weblogic.jdbc.common.internal.XAConnectionEnvFactory.makeConnection(XAConnectionEnvFactory.java:209)
at weblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnectionEnvFactory.java:57)
at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
I can create a normal (non-X/A) connection pools without any problems however the
X/A one will just not work at all. I spotted on a goggle newsgroup that someone else
had this exact same problem but running on WINNT but there was no resolution. The
following is the trace from the XA trace file:-
ORACLE XA: Version 8.1.7.0.0. RM name = 'Oracle_XA'.
181020.21758.1.-662733300:
xaoopen: xa_info=Oracle_XA+Acc=P/imsi/imsi+SesTm=100+DB=test+Threads=true+LogDir
=.+DbgFl=0x15,rmid=-662733300,flags=0x0
181020.21758.1.-662733300:
ORA-12547: TNS:lost contact
181020.21758.1.-662733300:
xaolgn_help: XAER_RMERR; OCIServerAttach failed. ORA-12547.
181020.21758.1.-662733300:
xaoopen: return -3
I have the whole application up and running fine on a WIN2000 platform with its own
database on the local machine. Also I can point my WIN2000 application to use the
database on the HPUX11 machine no problem.
This leads me to think this is a TNS related problem as I cant think of anything
else !.
Any help greatly appreciated...!
MartinHi Martin,
Using oracles Advanced Security Options can cause this, comment security
related lines out of your "sqlnet.ora" they generally have the words,
ENCRYPTION or CRYPTO in them.
Also try to set ORACLE_SID environment variable, like in the server startup
script.
ORACLE_SID=<SID_NAME>
export ORACLE_SID
Try it and see if it works. This is purely an Oracle issue not WebLogic
related. Try to contact Oracle support if you cannot resolve the issue with
above steps. You may have to reinstall the Client.
hth
sree
"Martin Porter" <[email protected]> wrote in message
news:[email protected]...
>
I am running WLS6.1 on HPUX11 with an Oracle Database 8.1.7. I am usingthe XA jDriver/Oracle
for my connection pools but when I start the server I get the followingerror:-
>
<Apr 25, 2002 6:10:21 PM BST> <Error> <JDBC> <neptune.xenicom.net><myserver> <main>
<system> <> <001060> <Cannot startup connection pool "test"weblogic.common.ResourceException:
java.s
ql.SQLException: open failed for XAResource 'test' with error XAER_RMERR :A resource
manager error has occured in the transaction branch. Check Oracle XA tracefile(s)
(if any) for database
errors. The Oracle XA trace file(s) are located at the directory whereyou start
the Weblogic Server, and have names like xa_<pool_name><MMDDYYYY>.trc.
at weblogic.jdbc.oci.xa.XAConnection.<init>(XAConnection.java:58)
atweblogic.jdbc.oci.xa.XADataSource.getXAConnection(XADataSource.java:601)
atweblogic.jdbc.common.internal.XAConnectionEnvFactory.makeConnection(XAConnec
tionEnvFactory.java:200)
atweblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnec
tionEnvFactory.java:57)
atweblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava:698)
atweblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282
atweblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623
atweblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
atweblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
arget.java:329)
atweblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
Target.java:279)
atweblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
eploymentTarget.java:233)
atweblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
entTarget.java:193)
at java.lang.reflect.Method.invoke(Native Method)
atweblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:636)
atweblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
21)
atweblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:359)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy29.updateDeployments(Unknown Source)
atweblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
ServerMBean_CachingStub.java:2761)
atweblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
icationManager.java:370)
atweblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
r.java:160)
at java.lang.reflect.Method.invoke(Native Method)
atweblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:636)
atweblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
21)
atweblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:359)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy38.start(Unknown Source)
atweblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
ApplicationManagerMBean_CachingStub.java:480)
atweblogic.management.Admin.startApplicationManager(Admin.java:1180)
at weblogic.management.Admin.finish(Admin.java:590)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:518)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
at weblogic.Server.main(Server.java:35)
atweblogic.jdbc.common.internal.XAConnectionEnvFactory.makeConnection(XAConnec
tionEnvFactory.java:209)
atweblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnec
tionEnvFactory.java:57)
atweblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.j
ava:698)
atweblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282
atweblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623
atweblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
atweblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
arget.java:329)
atweblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
Target.java:279)
atweblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
eploymentTarget.java:233)
atweblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
entTarget.java:193)
>
I can create a normal (non-X/A) connection pools without any problemshowever the
X/A one will just not work at all. I spotted on a goggle newsgroup thatsomeone else
had this exact same problem but running on WINNT but there was noresolution. The
following is the trace from the XA trace file:-
ORACLE XA: Version 8.1.7.0.0. RM name = 'Oracle_XA'.
181020.21758.1.-662733300:
xaoopen:xa_info=Oracle_XA+Acc=P/imsi/imsi+SesTm=100+DB=test+Threads=true+LogDir
=.+DbgFl=0x15,rmid=-662733300,flags=0x0
181020.21758.1.-662733300:
ORA-12547: TNS:lost contact
181020.21758.1.-662733300:
xaolgn_help: XAER_RMERR; OCIServerAttach failed. ORA-12547.
181020.21758.1.-662733300:
xaoopen: return -3
I have the whole application up and running fine on a WIN2000 platformwith its own
database on the local machine. Also I can point my WIN2000 application touse the
database on the HPUX11 machine no problem.
This leads me to think this is a TNS related problem as I cant think ofanything
else !.
Any help greatly appreciated...!
Martin -
Connection pool driver for Oracle 8i
Dear all,
I am testing 6 beta.
i can't create a connection pool with the driver works in 5.1.
any suggestion or example to show how to do it?
Thanks a lot!
Regards,
KingHi,
Thanks for the quick reply.
As I said I'm using OracleConnectionCacheImpl class to handle connection pooling with in the code rather than configuring in the web server. Now we are using ojdbc5.jar with Oracle 11g, I need equivalent class to handle the connection pool rather than configuring in the web server or using OracleDataSource. If OracleDataSource is the connection pool class which is equivalent to (OracleConnectionCacheImpl) of Classes12.jar, then can you please provide the example connection code.
Thanks. -
OAS 4.0.8.1 connection pooling ?
Question 1
===========
How does the oracle application server connect to the database using Jweb and Jservlet catridge ? any connection pooling before spawning the database ? if yes? how can I control the pooling system?
Question 2
==========
How can I log the following session being spawn thru the OAS with Oracle8i ?
Are there any Monitoring tools in OAS that able to track the following session connecting to the database because I am doing a stress test on the tier architecture with 2 simple servlet
1) without connection pooling
2) with connection poolingHi, working on a similar project with Oracle 8.0.5. database server and OAS4.0.8.1 JServlet Cartridge. Do not have answers to your questions, but have some more.
1) oracle.html package:
a) How can I add events like onChange, onClick etc. to Items?
b) Font and TableRow class do not provide closing tags. Is it a bug? Any workarounds?
2) Cannot store objects like connection pools, etc. in servletcontext as when I try to get them in another servlets, it gives ClassCastException. However, if I get them in an Object reference and display Classname, it does display the proper class name.
getServlet also does not work so that I can share a global object with all servlets. Is it a but in OAS.
Any other way by which I can share global objects across servlets.
3) If I put a class in a CLASSPATH directory of the OAS application, and if that directory is not a virtually mapped directory, it is unable to locate my classes. Wonder how it is able to locate the oracle.html libraries which I access in the same way.
null -
Principals for connection pools
We are using a dbms realm for our application on a Bea WeblogicServer
5.1 on Solaris
7.
It seems that it is not possible to use a group as principal for
a connection pool in the
weblogic.properties file. This results in a SecurityException when
a user which is a
member of the corresponding group tries to get a connection from
the connection pool.
Does anybody have similar problems or even better a solution or
explanation for this
problem?
Dieter Arnold
GFT Technologies AG
Curiestr. 5
D-70563 Stuttgart-Vaihingen
Tel:+49-711-62042-100, Fax: +49-711-62042-101,
mailto:[email protected]
http://www.gft.comprobably not your problem, but groupnames and usernames should
be unique in weblogic, so if you happen to have a user with the
same name as the group you are trying to use, it would confuse
the server.
but, like I said, probably not your problem.
-Don
"Ken Hu" <[email protected]> wrote:
Dieter,
I got the same problem as yours when I am working with
WLS 5.1:
I have a connection pool set up in the weblogic.properties
file and a Oracle
RDBMSRealm. And there is an acl entry in the database
indicating that a
certain group has 'reserve' right to the connection pool.
Then when one user which in fact belongs to that group
try to use the
connection pool, he will get SecurityException saying
that he doesn't has a
reserve right. But when I change group name of the acl
entry to that user,
he is able to use the connection pool. All seems that
I can't use a group as
principal in the Connection Pool acl settings.
But when I used WLS6.0, the problem disappeared. Does
anybody have any idea?
Thanks,
Ken
Tom Mitchell <[email protected]> wrote in message news:[email protected]..
Dieter,
I am not sure I understand what you are trying to do.a group is a
collection of users and does not have a password. Canyou explain what
you are trying to accomplish?
Thanks.
Dieter Arnold wrote:
It seems that it is not possible to use a group as
principal for
a connection pool in the
weblogic.properties file. This results in a SecurityExceptionwhen
a user which is a--
Tom Mitchell
[email protected]
Very Current Stoneham, MA Weather
http://www.tom.org -
How to purge connection pool on stale on connections
Hello
Our problem is when we are required to reboot the database then we have to reboot all application servers.
Is there a way we can avoid app servers reboot.
app server code is in VB 6.0 and .NET 1.1 (using odp.net for .net)
in a sample application what we found that the ADO (using OraOLEDB) returns a connection where the connection state is open even after database reboot, but when try to use the connection object it throws an exception like end-of-line etc.
so is there a way to clean up the connection pool or reset ole db connection manger.
Any help will be greatly appreciated
ThanksYou're using both ODP and OLEDB then?
ODP has a ClearPool method on a connection you can call, useful for just this situation.
OLEDB connection pooling is done by the OLEDB framework provided by Microsoft, not by the provider itself. I dont know of any way to clear out the pool apart from restarting the application.
Hope it helps, corrections/comments welcome
Greg -
Connection Pooling : Network Adapter could not establish the connection
Hi,
We have a client-server application wherein the server has a pooled connection to an Oracle 10i database. The application is developed in Java and we are using Oracle OracleConnectionCacheImpl API to manage the connection pooling( DYNAMIC pooling with a pool size of 5 and we are using ojdbc14.jar)
On certain occasions when activity is extremely high, the server attemtps to retrieve around 2 million datasets/records. The connection pool runs out of connections and we get the following error :
com.indigo.utils.DBEngineException: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at com.indigo.zclasses.DBTradingSource.getConnection(DBTradingSource.java:136)
at com.indigo.zclasses.DBTradingSource.getTicketMessages(DBTradingSource.java:8033)
at sun.reflect.GeneratedMethodAccessor749.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.indigo.basketserver.ServerSideUtil.ConfigUtil(ServerSideUtil.java:88)
at com.indigo.basketserver.RemoteServerImpl.ConfigUtil(RemoteServerImpl.java:543)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:418)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:521)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:325)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:171)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:149)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:95)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:63)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getNewPoolOrXAConnection(OracleConnectionCacheImpl.java:547)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getPooledConnection(OracleConnectionCacheImpl.java:404)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:298)
at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:268)
at com.indigo.zclasses.DBTradingSource.getConnection(DBTradingSource.java:127)
This is happens in Production and despite our exhaustive efforts,we have been unable to reproduce it in our Testing environment so far.
A large number of login attempts are seen in the Oracle login monitoring table, around 50,000 but we dont think that should be an issue. At the time, when this problem occurs, there are other processes making connection to the DB without any issues. Also, after sometime, the connection is restored and no exceptions are thrown.
Any insight into how we could simulate,resolve or monitor this issue would be greatly appreciated.
Thanks,
ZuberHi. This a long-known issue, and is caused by the DBMS listener's incoming
request buffer becoming overloaded by many simultaneous connection
requests. It will fail some of them. I have seen this with a simple java
program that calls Driver.connect() identically 20 times in a tight loop.
Some of the calls will fail in this way, while others will succeed. The
solution BEA's pool has, is to have a delay option to have the thread
sleep a bit (half-second to a secod or so) between successive connection
requests. After that, don't close connections until they're broken. Keep
them and re-use them.
HTH,
Joe Weinstein at BEA Systems -
Credentialling for Connection Pools
I've been looking at different documents on dev2dev, but being new to the
security I'm not sure what I'm looking at. That's at least simple humble
way to say it.
Is it possible to configure WebLogic (8.1) server to use external
credentials for a connection pool?
Thanks,
Michaelprobably not your problem, but groupnames and usernames should
be unique in weblogic, so if you happen to have a user with the
same name as the group you are trying to use, it would confuse
the server.
but, like I said, probably not your problem.
-Don
"Ken Hu" <[email protected]> wrote:
Dieter,
I got the same problem as yours when I am working with
WLS 5.1:
I have a connection pool set up in the weblogic.properties
file and a Oracle
RDBMSRealm. And there is an acl entry in the database
indicating that a
certain group has 'reserve' right to the connection pool.
Then when one user which in fact belongs to that group
try to use the
connection pool, he will get SecurityException saying
that he doesn't has a
reserve right. But when I change group name of the acl
entry to that user,
he is able to use the connection pool. All seems that
I can't use a group as
principal in the Connection Pool acl settings.
But when I used WLS6.0, the problem disappeared. Does
anybody have any idea?
Thanks,
Ken
Tom Mitchell <[email protected]> wrote in message news:[email protected]..
Dieter,
I am not sure I understand what you are trying to do.a group is a
collection of users and does not have a password. Canyou explain what
you are trying to accomplish?
Thanks.
Dieter Arnold wrote:
It seems that it is not possible to use a group as
principal for
a connection pool in the
weblogic.properties file. This results in a SecurityExceptionwhen
a user which is a--
Tom Mitchell
[email protected]
Very Current Stoneham, MA Weather
http://www.tom.org -
How to use my connection pool in multiple servlets?
I now have a functioning connection pool using these lines in a servlet:
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
========================
If I want to create additional servlets in the same web app which query the same database,
do I need to repeat this block of code in every servlet, or can I just put it in one servlet
and have other servlets access it in some way to get a connection? Should I change the code
above from a "private" Connection to a "public" Connection?
An example servlet is shown below. To put my question another way: If I want to
create a second servlet with a different set of queries, would I just make a copy of the first
servlet and then change only the queries, or is there a more efficient way to have multiple
servlets get connections from the pool?
Any suggestions are greatly appreciated.
Thank you.
Logan
************************************servlet example**********************************
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.util.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.Date;
import java.text.*;
import javax.naming.*;
import javax.sql.DataSource;
public class CraigsMain extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
// Process the http Get request
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String sql = "select formtitle from checkboxforms where cbformid = 157";
// error occurs at this line
Connection ocon = getConnection("java:comp/env/jdbc/CraigsList");
PreparedStatement pStmt = ocon.prepareStatement(sql);
ResultSet rs1 = pStmt.executeQuery();
rs1.next();
out.println("<br>" + rs1.getString(1));
rs1.close();
pStmt.close();
ocon.close();
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
=======================================================================sjasja, Thank you for the reply. What you are suggesting is exactly what I have been looking for. But I'm pretty weak on how to make this separate con pool servlet work. My first attempt is shown below. It doesn't compile this line, which is obviously wrong:
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Could you please help me with this servlet code? Thanks.
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class ConPoolInit extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
======================================= -
Weblogic Server 9.2 Crashes when using the JMS Wrapped Connection Pooling.
===== BEGIN DUMP =============================================================
JRockit dump produced after 0 days, 01:05:05 on Thu Sep 16 18:27:36 2010
Additional information is available in:
E:\obopay\servers\EWP_9.2_Domain\jrockit.4516.dump
E:\obopay\servers\EWP_9.2_Domain\jrockit.4516.mdmp
If you see this dump, please open a support case with BEA and
supply as much information as you can on your system setup and
the program you were running. You can also search for solutions
to your problem at http://forums.bea.com in
the forum jrockit.developer.interest.general.
Error Message: Illegal memory access. [54]
Exception Rec: EXCEPTION_ACCESS_VIOLATION (c0000005) at 0x0095065F - memory at 0x00740060 could not be read.
Minidump : Wrote mdmp. Size is 567MB
SafeDllMode : -1
Version : BEA JRockit(R) R27.2.0-131-78843-1.5.0_10-20070320-1457-windows-ia32
GC Mode : Garbage collection optimized for throughput
GC Strategy : Generational Parallel Mark & Sweep
: Current OC phase is: not running. YC is not running.
: GC strategy for GC 36 was genparpar
: GC strategy for GC 37 was genparpar
: GC strategy for GC 38 was genparpar
: GC strategy for GC 39 was genparpar
: GC strategy for GC 40 was genparpar
: mmHeap->data = 0x00C00000, mmHeap->top = 0x10C00000
: The nurserylist starts at 0x01BE75E8 and ends at 0x0CB52440
: mmStartCompaction = 0x00C00000, mmEndCompaction = 0x01C00000
: References are 32-bit.
CPU : Intel Pentium III/Pentium III Xeon SSE SSE2 SSE3 SSSE3 EM64T
Number CPUs : 2
Tot Phys Mem : 3451408384 (3291 MB)
OS version : Microsoft Windows XP version 5.1 Service Pack 3 (Build 2600) (32-bit)
Thread System: Windows Threads
State : JVM is running
Command Line : -Djava.library.path=E:\bea\jrockit90_150_10\bin;E:\bea\jrockit90_150_10\jre\bin;E:\bea\weblogic92\server\native\win\32;E:\bea\weblogic92\server\bin;E:\bea\weblogic92\server\native\win\32\oci920_8 -Dweblogic.management.discover=false -Dplatform.home=E:\bea\weblogic92 -Dwls.home=E:\bea\weblogic92\server -Dwli.home=E:\bea\weblogic92\integration -Dweblogic.Name=myserver -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.ext.dirs=E:\bea\patch_weblogic901\profiles\default\sys_manifest_classpath\weblogic_patch.jar Djava.security.auth.login.config=E://workspace/Bhopal/LoginModulesConfig/ewp_loginmodules.config -Djava.naming.factory.initial.ewp.remote=weblogic.jndi.WLInitialContextFactory -Dcom.ewp.proxy.is_remote=false -Djava.naming.provider.url.ewp.remote=t3://localhost:7001 -Dweblogic.webservice.verbose=true -Dweblogic.log.Log4jLoggingEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=true Xdebug -Xnoagent -Dcom.sun.management.jmxremote -Xms256m -Xmx1024m -Dsun.java.launcher=SUN_STANDARD weblogic.Server
java.home : E:\bea\jrockit90_150_10\jre
JAVA_HOME : <not set>
JAVAOPTIONS: <not set>
PATH : E:\bea\jrockit90_150_10\jre\bin;E:\oracle\product\10.2.0\client_1\bin;C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\DMIX;C:\Program Files\TortoiseSVN\bin
C Heap : Good; no memory allocations have failed
StackOverFlow: 0 StackOverFlowErrors have occured
OutOfMemory : 0 OutOfMemoryErrors have occured
Registers (from ThreadContext: 0x4B29E378 / OS context: 0x4B29E764):
eax = 00740060 ecx = 00740060 edx = 45a45ba0 ebx = 08c953b8
esp = 4b29ea30 ebp = 00000000 esi = 4b29ea60 edi = 4b29efb4
es = 00000023 cs = 0000001b ss = 00000023 ds = 00000023
fs = 0000003b gs = 00000000
eip = 0095065f eflags = 00010206
Stack:
(* marks the word pointed to by the stack pointer)
4b29ea30: 00981099* 08c953b8 008ab310 4b29eb34 09e5c308 009810ea
4b29ea48: 4b29ead8 0098ecd2 4b29ea60 4b29ea90 48bd8960 48bd8960
4b29ea60: 00000001 45aa0278 45a45ba0 00000007 00000000 08c953b8
4b29ea78: 08512180 4b29ef60 00000000 09d56368 09d563b0 4b29efb4
Code:
(* marks the word pointed to by the instruction pointer)
0095062c: 5e5f0cc4 c35bc033 01b85e5f 5b000000 ccccccc3 0424448b
00950644: a5f06ca3 ccccc300 cccccccc 04244c8b 01a8018b e0830774
0095065c: 8bc88bfe* 40788301 44408b03 af0f0a75 c0830841 f8e08317
00950674: ccccccc3 cccccccc cccccccc 0424448b 00f4888b 158b0000
Loaded modules:
(* denotes the module causing the exception)
00400000-0040ffff E:\bea\jrockit90_150_10\bin\javaw.exe
7c900000-7c9b1fff C:\WINDOWS\system32\ntdll.dll
7c800000-7c8f5fff C:\WINDOWS\system32\kernel32.dll
7e410000-7e4a0fff C:\WINDOWS\system32\USER32.dll
77f10000-77f58fff C:\WINDOWS\system32\GDI32.dll
77dd0000-77e6afff C:\WINDOWS\system32\ADVAPI32.dll
77e70000-77f02fff C:\WINDOWS\system32\RPCRT4.dll
77fe0000-77ff0fff C:\WINDOWS\system32\Secur32.dll
77c10000-77c67fff C:\WINDOWS\system32\MSVCRT.dll
76390000-763acfff C:\WINDOWS\system32\IMM32.DLL
00820000-00a9cfff *E:\bea\jrockit90_150_10\jre\bin\jrockit\jvm.dll
76b40000-76b6cfff C:\WINDOWS\system32\WINMM.dll
71ab0000-71ac6fff C:\WINDOWS\system32\WS2_32.dll
71aa0000-71aa7fff C:\WINDOWS\system32\WS2HELP.dll
7c340000-7c395fff E:\bea\jrockit90_150_10\bin\MSVCR71.dll
5dac0000-5dac7fff C:\WINDOWS\system32\rdpsnd.dll
76360000-7636ffff C:\WINDOWS\system32\WINSTA.dll
5b860000-5b8b4fff C:\WINDOWS\system32\NETAPI32.dll
76bf0000-76bfafff C:\WINDOWS\system32\PSAPI.DLL
6d700000-6d70bfff E:\bea\jrockit90_150_10\jre\bin\verify.dll
6d370000-6d38cfff E:\bea\jrockit90_150_10\jre\bin\java.dll
6d2f0000-6d2f7fff E:\bea\jrockit90_150_10\jre\bin\hpi.dll
6d720000-6d72efff E:\bea\jrockit90_150_10\jre\bin\zip.dll
6d520000-6d527fff E:\bea\jrockit90_150_10\jre\bin\management.dll
6d530000-6d542fff E:\bea\jrockit90_150_10\jre\bin\net.dll
71a50000-71a8efff C:\WINDOWS\system32\mswsock.dll
662b0000-66307fff C:\WINDOWS\system32\hnetcfg.dll
71a90000-71a97fff C:\WINDOWS\System32\wshtcpip.dll
41c00000-41c26fff C:\WINDOWS\system32\DNSAPI.dll
41c30000-41c37fff C:\WINDOWS\System32\winrnr.dll
41c40000-41c6bfff C:\WINDOWS\system32\WLDAP32.dll
41c80000-41c85fff C:\WINDOWS\system32\rasadhlp.dll
68000000-68035fff C:\WINDOWS\system32\rsaenh.dll
769c0000-76a73fff C:\WINDOWS\system32\USERENV.dll
438b0000-438b8fff E:\bea\jrockit90_150_10\jre\bin\nio.dll
41ba0000-41ba9fff E:\bea\jrockit90_150_10\jre\bin\jmapi.dll
41bb0000-41bbdfff E:\bea\weblogic92\server\native\win\32\wlfileio2.dll
43ce0000-43cf8fff C:\WINDOWS\system32\iphlpapi.dll
43d10000-43d27fff C:\WINDOWS\system32\MPRAPI.dll
77cc0000-77cf1fff C:\WINDOWS\system32\ACTIVEDS.dll
43d30000-43d54fff C:\WINDOWS\system32\adsldpc.dll
43d60000-43d70fff C:\WINDOWS\system32\ATL.DLL
43d80000-43ebcfff C:\WINDOWS\system32\ole32.dll
43ec0000-43f4afff C:\WINDOWS\system32\OLEAUT32.dll
43f50000-43f5dfff C:\WINDOWS\system32\rtutils.dll
71bf0000-71c02fff C:\WINDOWS\system32\SAMLIB.dll
43f60000-44052fff C:\WINDOWS\system32\SETUPAPI.dll
44060000-44064fff E:\bea\weblogic92\server\native\win\32\wlntio.dll
44540000-44545fff E:\bea\jrockit90_150_10\jre\bin\rmi.dll
4d010000-4d122fff E:\bea\jrockit90_150_10\jre\bin\dbghelp.dll
"[STANDBY] ExecuteThread: '21' f" id=87 idx=0xf0 tid=4208 lastJavaFrame=0x4B29EB4C
Stack 0: start=0x4B260000, end=0x4B2A0000, guards=0x4B263000 (ok), forbidden=0x4B261000
Thread Stack Trace:
at _mmGetPossibleMovedObjectSize+15()@0x0095065F
at _refIterInit+393()@0x00981099
at _refIterInit+474()@0x009810EA
at _trProcessLocksForThread+66()@0x0098ECD2
at _javalockCouldBeLock+1047()@0x008AB417
at _javalockConvertThinToFat+42()@0x008AC13A
at RJNIjrockit_vm_Locks_convertThinLockedToFatLocked@8+15()@0x00986B1F
-- Java stack --
at jrockit/vm/Locks.convertThinLockedToFatLocked(Ljava/lang/Object;)V(Native Method)
at jrockit/vm/Locks.createMonitorAndConvert(Ljava/lang/Object;Z)Ljrockit/vm/ObjectMonitor;(Unknown Source)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:474)
at weblogic/common/CompletionRequest.getResult(CompletionRequest.java:109)
^-- Holding lock: weblogic/common/CompletionRequest@0x09E5C2A8[thin lock]
at weblogic/store/gxa/internal/GXATransactionImpl.commitStoreIO(GXATransactionImpl.java:99)
at weblogic/store/gxa/internal/GXATransactionImpl.doOperationCallbacks(GXATransactionImpl.java:215)
at weblogic/store/gxa/internal/GXAResourceImpl.commit(GXAResourceImpl.java:1448)
at weblogic/transaction/internal/XAServerResourceInfo.commit(XAServerResourceInfo.java:1333)
at weblogic/transaction/internal/XAServerResourceInfo.commit(XAServerResourceInfo.java:577)
at weblogic/transaction/internal/ServerSCInfo.startCommit(ServerSCInfo.java:514)
at weblogic/transaction/internal/ServerTransactionImpl.localCommit(ServerTransactionImpl.java:1993)
at weblogic/transaction/internal/ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2658)
at weblogic/transaction/internal/ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2580)
at weblogic/transaction/internal/ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:278)
at weblogic/transaction/internal/ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
at weblogic/deployment/jms/WrappedTransactionalSession.delistFromTransaction(WrappedTransactionalSession.java:258)
^-- Holding lock: weblogic/deployment/jms/PooledSession_weblogic_jms_client_JMSXASession@0x09D56368[thin lock]
at weblogic/deployment/jms/WrappedMessageProducer.send(WrappedMessageProducer.java:149)
at com/obopay/jms/helper/BaseQueueHelper.sendMessage(BaseQueueHelper.java:107)
The above is the jrockit crash dump file..
I am using the JMS Wrapper Connection Poooling provided by Weblogic. When i use Jmeter and do the load testing for around 10 users, the server gets crashed.
I doubt something is going wrong with the Weblogic JMS Connection Pooling, please help me..The problem doesn't look like it has anything to do with wappers per se. The stack indicates that the JVM died when the persistent store tried to invoke a standard Java synchronize operation. JVM crashes need to be analyzed by a JVM expert, so I second the suggestion to solicit help from JVM experts and/or filing a case with customer support. In the mean-time, you can probably work-around the issue by either (A) ensuring you have a recent version of the JVM installed, or (B) temporarily switching to the Sun JVM.
Regards,
tom
Edited by: TomB on Sep 17, 2010 2:33 PM
Maybe you are looking for
-
Input field - entry is not in the list of values
Hi I have a very strange thing going on in my aPP. I use an input field to which I attach an on Enter event. When user presses 'Enter', a pop up window appears with the list of countries. Selecting a country automatically puts this country into the i
-
What is best method to overcome jerky video export ?
Hi Flash CS5. A basic fundamental issue here, getting a decent movie exported from flash. I have a 60fps movie (25 was jerky motion [png images as MC’s classic tweened across screen] and after various fps tests 60 was settled on) with MC’s cars and
-
Audio transmit problem under redhat linux 9
Hi !! I have already compiled J2sdk1.4.2 and JMF2.1.1e performance pack for linux and they both work alright under Redhat linux 9. JMStudio works fine to playback audio files. The problem I'm having is when I try to transmit and receive audio files t
-
Does EPM 11.1.2 supports IE 8?
-
Install deskjet 1515 on mac os x 10.5
Hello, I bought a new printer - Officejet 1515 ink advantage which am expected to use on my mac running Mac os X 10.5. Can someone help to get a driver for this printer so that I can use and enjoy my new printer on my mac.