Re: WebLogic RDB jdbc problem
Hi Joe,
I tried the two things you asked:
1. Setting the initial and max capacity of the Connection Pool to 1 does not make
any further difference, the reselt set is still sometimes empty.
2. If I use the code from the stand-alone application (thus if I get the connection
directly from the driver) than I get a good result: the retrieved result set is,
as far as I can see, always correctly filled.
In addition I tried to cast the Connection to WLConnection and then get the vendor
connection from it, and than to proceed with this connection further on, but this
did not make it any better.
Almir.
Joe Weinstein <[email protected]> wrote:
>
>
Almir wrote:
Hi Joe,
thanks for your quick answer to my questions. I red your sugestionsand tried
them out but unfortunately it did not make me come any further in searchfor answer
to this odd problem. Setting the statement cache size to 0 (I've alreadytried
this before your response) did not make any difference at all. Refreshingthe
statement before reuse neighter.
I also tried to make the stand-alone application to go wrong. But nomatter whether
I reuse connection and/or statement or whether I instantiate the newones every
time, the execution of the statement always comes back with a validand filled
ResultSet.
Interesting thing to mention aboout executing the statement withinthe server
is that if I put it in a loop of let say 100 repeats, it succeeds orit fails
all 100 times. Next time i execute this bean method where the loopis situated
it will again succeed or fail all 100 times. It remains consequentwithin the
same loop/bean method. Even if I get the data source and the connectionevery
time again (100 times) it remains consequent. Thi is maybe interestingfinding
but it does not say anything to me. Perhaps you can make some conclusionsout
of it.
Best regards,
Almir.Hmmmmm.... Interesting. The only other thing I can suspect is that the
driver
is not threadsafe... Would you try these two experiments?
1 - Alter the weblogic server to define the pool to have only one connection,
ie: initial capacity = 1 and max capacity = 1. Let me know if the
problem
is still there.
2 - Alter the application code you run in the server to get a connection
directly
from the driver, just like the standalone code.
Let me know...
Joe
Joe Weinstein <[email protected]> wrote:
Hi Almir.
I highly suspect the RDB driver of a bug where re-using a given Prepared
Statement
will sometimes produce an empty result set. Weblogic will cache your
prepared statements
so when you call prepareStatement() we may transparently return you
a
previously-used
statement for the same SQL and arguments.
To prove my theory, please do these two things:
1 - Define your pool's statement cache to be of size zero. This should
make the problem
go away.
2 - In a standalone program, you can create a given PreparedStatement,
and rerun it in
a loop, and see if it ever returns an empty result set. I will showyou
how to include
the code we do to refresh the statement before reuse:
try
Class.forName ("oracle.rdb.jdbc.rdbThin.Driver");
Connection conn = DriverManager.getConnection("jdbc:rdbThin://<database_name>","<user>",
"<pass>");
String sqlStatement = "SELECT TABEL1.COLUMN1, TABEL1.COLUMN2,
TABEL2.COLUMN1
FROM TABEL1, TABEL2 WHERE (TABEL2.COLUMN2= TABEL1.COLUMN3) AND (TABEL2.COLUMN1
= ?)ORDER BY TABEL1.COLUMN1";
PreparedStatement ps = conn.prepareStatement(sqlStatement,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
for (int i = 0; i < 100; i++)
ps.setObject(1, new Integer(1));
boolean result = ps.execute();
ResultSet rs = ps.getResultSet();
// check result set here
rs.close();
cleanUpStatementForReUse(ps);
ps.close();
conn.close();
catch (Exception ex)
System.out.println(ex);
private void cleanUpStatementForReUse(PreparedStatement p)
try { p.clearParameters(); p.clearBatch(); } catch (Throwable ignore)
try { p.setEscapeProcessing(true); } catch (Throwable ignore) {}
try
if (p.getFetchDirection() != ResultSet.FETCH_FORWARD)
p.setFetchDirection(ResultSet.FETCH_FORWARD);
} catch (Throwable ignore) {}
try
if (p.getFetchSize() != 0)
p.setFetchSize(0);
} catch (Throwable ignore) {}
try
if (p.getMaxFieldSize() != 0)
p.setMaxFieldSize(0);
catch (Throwable ignore) {}
try
if (p.getMaxRows() != 0)
p.setMaxRows(0);
catch (Throwable ignore) {}
try
if (p.getQueryTimeout() != 0)
p.setQueryTimeout(0);
catch (Throwable ignore) {}
try
p.clearWarnings();
catch (Throwable ignore) {}
Almir wrote:
Hello everybody,
we are developing an application for Bea WebLogic Application Server8.1. This
application uses data from an existing database. This is an OracleRDB 7-1.220
database. Because the WebLogic AS does not include a JDBC driver forthis type
of database we got one from Oracle: RDBJDBC71. I installed this driverand tested
it by using a standalone Java application which executes a number
of
SQL statemens.
This test was satisfying, no problems occured.
Then, in order to use it within the application server, I defined
a
JDBC Connection
Pool in WebLogic with corresponding Data Source. And it worked, ourapplication
could connect with the database and execute the needed transactions.
But after a while we noticed a realy strange problem. When a particularSELECT
SQL stament is executed we expect a list of 6 records as result. Butsometimes
the returned resultset is just empty. I tried this hundreds of times.No error
or exception occurs but sometimes the response is correct and sometimesnot.
In the first place we thought that the JDBC driver was causing thisproblem but
then I executed the same SQL Select statement within a Java stand-aloneapplication
(and not using the Application Server) and the result was correct.Repeating this
hundreds of times did not change the outcome, the given resultset
was
always correct.
I tried reconfigurating the Connection Pool in different ways but
it
did not make
any difference: sometimes it worked and sometimes it didn't.
Here below you can see the code samples of both implementations.
Stand-alone:
try
Class.forName ("oracle.rdb.jdbc.rdbThin.Driver");
Connection conn = DriverManager.getConnection("jdbc:rdbThin://<database_name>","<user>",
"<pass>");
String sqlStatement = "SELECT TABEL1.COLUMN1, TABEL1.COLUMN2,TABEL2.COLUMN1
FROM TABEL1, TABEL2 WHERE (TABEL2.COLUMN2= TABEL1.COLUMN3) AND (TABEL2.COLUMN1
= ?)ORDER BY TABEL1.COLUMN1";
PreparedStatement ps = conn.prepareStatement(sqlStatement,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ps.setObject(1, new Integer(1));
boolean result = ps.execute();
ResultSet rs = ps.getResultSet();
// Result set is here always filled!!!!
rs.close();
ps.close();
conn.close();
catch (Exception ex)
System.out.println(ex);
Application server:
try
Context ctx = new InitialContext();
Object object = ctx.lookup(data_store_name);
DataStore ds = (DataStore)object;
Connection conn = ds.getConnection();
String sqlStatement = "SELECT TABEL1.COLUMN1, TABEL1.COLUMN2,TABEL2.COLUMN1
FROM TABEL1, TABEL2 WHERE (TABEL2.COLUMN2= TABEL1.COLUMN3) AND (TABEL2.COLUMN1
= ?)ORDER BY TABEL1.COLUMN1";
PreparedStatement ps = (PreparedStatement)conn.prepareStatement(sqlStatement,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ps.setObject(1, new Integer(1));
boolean result = ps.execute();
ResultSet rs = ps.getResultSet();
// Result set is here sometimes empty !!!!
rs.close();
ps.close();
conn.close();
catch (Exception ex)
System.out.println(ex);
Any sugestions are welcome.
Thanks.
Almir.
I have had the same problem as you with sporadic results for queries with RDB Drivers. Were you able to solve it and if so how?
Sam Opoku-Boadu
Similar Messages
-
Remote JDBC Problem with Oracle BPM Studio
Hi all, i am facing the Remote JDBC Problem with Oracle BPM Studio.
When i configure a Remote JDBC Connection for SQL in BPM Studio, it prompt me an error.
The SQL Connection is configured as following :
External Resource:
Name : MyDS
Type : SQL Database
Supported Types : Remote JDBC
Details:
Database Type : BPM's Oracle Driver Version:10, 11
J2EE : WLS
Lookup Name : MyAppDS
Configuration for "WLS"
Name : WLS
Type : J2EE Application Server
Supported Types : GENERIC_J2EE
Details:
Initial Context Factory : weblogic.jndi.WLInitialContextFactory
URL : t3://localhost:7001
But, when i try to connect to the Database by using this configuration, I will get an Exception.
An exception occurred while getting a resource from a connector.
Detail:The connector [[ MyDS : SQL : REMOTE_JDBC ]] caused an exception when getting a resource.
Caused by: An exception occurred while getting a resource from a connector.
Detail:The connector [[ WLS : J2EE : J2EE ]] caused an exception when getting a resource.
Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [[ Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory ]]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at fuego.jndi.FaultTolerantContext.createContext(FaultTolerantContext.java:726)
at fuego.jndi.FaultTolerantContext.<init>(FaultTolerantContext.java:79)
at fuego.connector.impl.GenericJ2EEConnector.createInitialContext(GenericJ2EEConnector.java:177)
at fuego.connector.impl.GenericJ2EEConnector.createStandaloneContext(GenericJ2EEConnector.java:98)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:92)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:76)
at fuego.connector.J2EEHelper.getReadOnlyContext(J2EEHelper.java:86)
... 12 more
Edited by: user2262377 on Jun 22, 2009 4:01 PMI guess the weblogic.jar is not included in the studio.
So, i added weblogic.jar (Weblogic 10.3) and wlclient.jar (Weblogic 10.3)
It is working in my simple java code. But, still not working in BPM Studio.
The error logs:
An exception occurred while getting a resource from a connector.
Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
Caused by: java.lang.Object cannot be cast to java.io.Serializable
fuego.connector.ConnectorException: An exception occurred while getting a resource from a connector.
Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:88)
at fuego.connector.JDBCHelper.getReadOnlyConnection(JDBCHelper.java:93)
at fuego.sqlintrospector.BrowserPanel.connect(BrowserPanel.java:395)
at fuego.sqlintrospector.BrowserPanel.populateTree(BrowserPanel.java:200)
at fuego.ui.wizards.ui.CheckTreeBrowser$1.construct(CheckTreeBrowser.java:63)
at fuego.ui.SwingWorker$2.run(SwingWorker.java:39)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: java.lang.Object cannot be cast to java.io.Serializable
at weblogic.iiop.IIOPOutputStream.writeAny(IIOPOutputStream.java:1588)
at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2231)
at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:413)
at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235)
at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225)
at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182)
at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1963)
at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2001)
at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2266)
at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) -
Hi.
I have problem writing blob into RDB database table via JDBC driver. I use setBinarySteam() or setBytes() method in PreparedStatement.
If table has NOT NULL constraint on blob-field I'm trying to write JDBC driver throws exception:
java.sql.SQLException: in <rdbjdbcsrv:execute_into>
%RDB-E-INTEG_FAIL, violation of constraint NEW_BLOB_TABLE_NOT_NULL1 caused operation to fail
-RDB-F-ON_DB, on database DKB1:[PRO_DB.MB_DATABASE]MB.RDB;1
@rdb.Client.ExecuteInsert
at oracle.rdb.jdbc.common.BasicClient.throwException(BasicClient.java:1049)
at oracle.rdb.jdbc.common.BasicClient.throwException(BasicClient.java:1014)
at oracle.rdb.jdbc.common.Client.ExecuteInsert(Client.java:498)
at oracle.rdb.jdbc.rdbThin.Rdb.ExecuteInsert(Rdb.java:332)
at oracle.rdb.jdbc.common.ResultSet.doStatement(ResultSet.java:5894)
at oracle.rdb.jdbc.common.PreparedStatement.execute(PreparedStatement.java:1331)
at oracle.rdb.jdbc.common.PreparedStatement.executeUpdate(PreparedStatement.java:399)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
at ru.teleform.reportgenerator.db.ReportBroker.setBinaryStream(ReportBroker.java:188)
at ru.teleform.reportgenerator.servlets.test.doPost(test.java:18)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
But if there is no constraint on this field everyyhing is ok. I'm using thin JDBC-driver.
I don't know what to do.No, I'm not trying to set null value to this field.
For experiment I created two similar tables. One was created with NOT NULL constraint for blob column and the other one without.
And I execut identical insert-query on both of them. With first table query throws exception. And with second one everything is fine, query inserts correct data into this table. -
Weblogic 10.0 Problems with stripes/struts
When trying to deploy the sample application for the stripes framework on weblogic 10.0 I get the following error when deploying.
<Dec 3, 2009 12:16:51 PM CET> <Error> <HTTP> <BEA-101165>
<Could not load user defined filter in web.xml:
net.sourceforge.stripes.controller.StripesFilter.net.sourceforge.stripes.exception.StripesRuntimeException:
Problem instantiating default configuration objects.I actually had to switch to using the Sun JDK to get this error. JRockit does not report it, and just fails when I try to use the application. The problem appear to be weblogic 10.0 specific. No problems with jetty or tomcat, and I've heard reports that it is resolved in weblogic 10.3. Have ayone come accross similar problems when using stripes/struts on weblogic 10.0, and found a solution to this? Is there a patch available for 10.0 than fix this?
Regards
Morten
PS: I have ommited the complete stack trace, since it is monstrously huge.Guess I was wrong in thinking that this was an isolated weblogic 10.0 problem. I just downloaded weblogic 10.3 and tried to deploy the same application there, and the same error happened.
<03.des.2009 kl 15.12 CET> <Error> <HTTP> <BEA-101165>
<Could not load user defined filter in web.xml:
net.sourceforge.stripes.controller.StripesFilter.net.sourceforge.stripes.exception.StripesRuntimeException:
Problem instantiating default configuration objects.
at net.sourceforge.stripes.config.DefaultConfiguration.init(DefaultConfiguration.java:220)
at net.sourceforge.stripes.config.RuntimeConfiguration.init(RuntimeConfiguration.java:272)
at net.sourceforge.stripes.controller.StripesFilter.init(StripesFilter.java:125)
at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:329)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
Truncated. see log file for complete stacktrace
java.lang.NullPointerException
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
Truncated. see log file for complete stacktraceSo is there anyone out there with experience with struts/stripes, that can tell why this does not work? If you need to try this yourself, you can download the stripes sample application here:
http://sourceforge.net/projects/stripes/files/stripes/Stripes%201.5.2/stripes-1.5.2.zip/download
There is an example WAR called "stripes-examples.war" in the zip that is ready to be deployed.
Regards
Morten
PS: you still need to start weblogic with Sun JDK rather than JRockit to get the error. With JRockit the application simply fails when used. -
Weblogic SQLServer JDBC error during Solaris to Linux migration
We are in process of migrating our app from weblogic 92 on solaris to weblogic 92 on linux. Our app connects to a SQLServer db (SQL Server 2005) using a weblogic datasource configured with the weblogic sqlserver jdbc driver (weblogic.jdbc.sqlserver.SQLServerDriver)
But we are getting the following error on linux, whereas the same code works fine in solaris:
*[BEA][SQLServer JDBC Driver][SQLServer]The server failed to resume the transaction. Desc:3d00000019.*
The <Desc:xxxx>keeps changing but rest of the error message remains the same. Any suggestions?
I have tried searching the weblogic jdbc forums but no luck.Is this the same DBMS as is used in the working configuration?
I'd like to see the whole stacktrace.... -
Unable to download Rdb JDBC driver
Hi,
On trying to download the Rdb JDBC 7.1.4.1 driver, takes me to the licensing page and then again back to the same page. There seems to be no content for download. Please advice.
url :http://www.oracle.com/technology/software/products/rdb7/index.htmlNeed a driver for Mac or Windows?
For OS X v10.9 Mavericks > http://www.epson.com/cgi-bin/Store/support/supDetail.jsp?oid=72106&infoType=Down loads
Or here > OS X: Printer and scanner software available for download
.exe files are Windows only. -
Weblogic 8.1 jdbc problem?
Hello!
I use Weblogic 8.1 on linux and Oracle 9.2 db server (I use thin driver)
When I try to retrieve date fields from a table using java.sql.ResultSet's getDate function, some date come back altered to the application.
For example if 1954.05.23 in the table and I use getDate I get back 1954.05.22.
If I use getString function I get the right date.
I checked this on Windos based Weblogic (same version) and there's no this problem.
Anybody have any idea what did I wrong or how can I correct this?
Thanx,
LaszloThe problem is that you are using the Oracle JDBC Driver classes customised by Weblogic.
This web page has sample on how to use the Weblogic Blob wrapper to get the output stream,
http://support.bea.com/application_content/product_portlets/support_patterns/wls/CLOBBLOBDataTypeHandlingIssuesPattern.html
replace
outStream = ((OracleThinBlob)myRegularBlob).getBinaryOutputStream();with
outStream = myRegularBlob.setBinaryStream(1);This is weblogic specific code. But if u want to use the generic one, instead of weblogic customised one, I think you should configure weblogic and create new Datasource using the Oracle JDBC Driver, and use it directly rather than depending on readymade Weblogic Datasource configuration for Oracle. , which makes use of the Weblogic wrappers.
hope that helped. -
JDBC Problems -- NoClassDefFoundError: weblogic/jdbc/wrapper/JTSConnection
Ben Belchak wrote:
Hi, newsgroup:
I have been developing with the Workshop for about a month now, and everything has been going great until last week. I have been connected and able to retrieve data from our AS/400 using the jt400 drivers, but all of a sudden something happened that caused me to get the following error. If anybody can assist, it would be greatly appreciated.
Some background: I have the JDBC JAR inside the classpath for my server, and it is loading it properly because I can test the connection pool from within the appserver's admin console.
In appserver:
java.lang.NoClassDefFoundError: weblogic/jdbc/wrapper/JTSConnectionHi. Did you get a response for this?
Make sure you don't have the JDBC jar in the client classpath too. Just make
sure it's in the server classpath. Let me know if that helps.
Joe
at java.lang.ClassLoader.defineClass(Ljava.lang.String;[BIILjava.securit
y.ProtectionDomain;)Ljava.lang.Class;(Unknown Source)
at java.security.SecureClassLoader.defineClass(Ljava.lang.String;[BIILja
va.security.CodeSource;)Ljava.lang.Class;(SecureClassLoader.java:123)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Ljava.l
ang.String;)Ljava.lang.Class;(GenericClassLoader.java:476)
at weblogic.utils.classloaders.GenericClassLoader.findClass(Ljava.lang.S
tring;)Ljava.lang.Class;(GenericClassLoader.java:181)
at java.lang.ClassLoader.loadClass(Ljava.lang.String;Z)Ljava.lang.Class;
(Unknown Source)
Inside browser:
An error has occurred:
EJB Exception: ; nested exception is:
weblogic.jws.control.ControlException: Exception in onAcquirecontext event handler[Context failure: onAcquire[Failed to Generate Wrapper Class.
Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class
at weblogic.utils.wrapper.WrapperFactory.createWrapper(Ljava.lang.Class;Ljava.lang.Object;Z)Ljava.lang.Object;(WrapperFactory.java:183)
at weblogic.jdbc.wrapper.JDBCWrapperFactory.getWrapper(ILjava.lang.Object;Z)Ljava.lang.Object;(JDBCWrapperFactory.java:171)
at weblogic.jdbc.jts.Driver.newConnection(Ljava.lang.String;Lweblogic.transaction.Transaction;Ljava.lang.String;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:737)
at weblogic.jdbc.jts.Driver.createLocalConnection(Lweblogic.transaction.Transaction;Ljava.lang.String;Ljava.util.Properties;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:197)
at weblogic.jdbc.jts.Driver.connect(Ljava.lang.String;Ljava.util.Properties;)Ljava.sql.Connection;(Driver.java:155)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection()Ljava.sql.Connection;(RmiDataSource.java:305)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.getConnection()Ljava.sql.Connection;(DatabaseControlImpl.jcs:1424)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.context_onAcquire()V(DatabaseControlImpl.jcs:1316)
at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang..Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:396)
at com.bea.wlw.runtime.core.container.Invocable.fireEvent(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Ljava.lang.String;Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:612)
at com.bea.wlw.runtime.core.context.WlwThreadContext.sendEvent(Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(WlwThreadContext.java:980)
at com.bea.wlw.runtime.core.context.WlwThreadContext.raiseEvent()Ljava.lang.Object;(WlwThreadContext.java:910)
at com.bea.wlw.runtime.core.container.Container.raiseContextEvent()Ljava.lang.Object;(Container.java:567)
at com.bea.wlw.runtime.jcs.container.JcsContainer.onAcquire()V(JcsContainer.java:529)
at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
at com.bea.wlw.runtime.core.container.Invocable.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:533)
at com.bea.wlw.runtime.jcs.container.JcsContainer.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(JcsContainer.java:480)
at com.bea.wlw.runtime.jcx.container.JcxContainer.preInvoke(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.request.Request;(JcxContainer.java:110)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(Invocable.java:187)
at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(JcsContainer.java:84)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(BaseContainerBean.java:198)
caused by: : weblogic.jws.control.ControlException: Exception in onAcquirecontext event handler[Context failure: onAcquire[Failed to Generate Wrapper Class.
Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class
at weblogic.utils.wrapper.WrapperFactory.createWrapper(Ljava.lang.Class;Ljava.lang.Object;Z)Ljava.lang.Object;(WrapperFactory.java:183)
at weblogic.jdbc.wrapper.JDBCWrapperFactory.getWrapper(ILjava.lang.Object;Z)Ljava.lang.Object;(JDBCWrapperFactory.java:171)
at weblogic.jdbc.jts.Driver.newConnection(Ljava.lang.String;Lweblogic.transaction.Transaction;Ljava.lang.String;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:737)
at weblogic.jdbc.jts.Driver.createLocalConnection(Lweblogic.transaction.Transaction;Ljava.lang.String;Ljava.util.Properties;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:197)
at weblogic.jdbc.jts.Driver.connect(Ljava.lang.String;Ljava.util.Properties;)Ljava.sql.Connection;(Driver.java:155)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection()Ljava.sql.Connection;(RmiDataSource.java:305)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.getConnection()Ljava.sql.Connection;(DatabaseControlImpl.jcs:1424)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.context_onAcquire()V(DatabaseControlImpl.jcs:1316)
at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:396)
at com.bea.wlw.runtime.core.container.Invocable.fireEvent(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Ljava.lang.String;Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:612)
at com.bea.wlw.runtime.core.context.WlwThreadContext.sendEvent(Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(WlwThreadContext.java:980)
at com.bea.wlw.runtime.core.context.WlwThreadContext.raiseEvent()Ljava.lang.Object;(WlwThreadContext.java:910)
at com.bea.wlw.runtime.core.container.Container.raiseContextEvent()Ljava.lang.Object;(Container.java:567)
at com.bea.wlw.runtime.jcs.container.JcsContainer.onAcquire()V(JcsContainer.java:529)
at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
at com.bea.wlw.runtime.core.container.Invocable.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:533)
at com.bea.wlw.runtime.jcs.container.JcsContainer.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(JcsContainer.java:480)
at com.bea.wlw.runtime.jcx.container.JcxContainer.preInvoke(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.request.Request;(JcxContainer.java:110)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(Invocable.java:187)
at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(JcsContainer.java:84)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(BaseContainerBean.java:198)
Message was edited by bbelchak at Aug 9, 2004 1:16 PM
Message was edited by bbelchak at Aug 9, 2004 1:20 PM
Message was edited by bbelchak at Aug 9, 2004 1:50 PM -
WebLogic 7 Upgrade Problem - TxDataSource / XA Drivers
I am having major problems attempting to upgrade from WebLogic 6.1 to 7. After
installing and configuring WebLogic 7, my application wouldn't load, telling me
I needed to use TxDataSources instead of DataSources.
So I switched to TxDataSources and after increasing the Max Capacity in the pools,
I was able to get my application to load and run. However, whenever my application
tries to access two different pools in the same transaction, I get this runtime
error.
java.sql.SQLException: Connection has already been created in this tx context
fo
r pool named commcp. Illegal attempt to create connection from another pool: adm
cp
java.sql.SQLException: Connection has already been created in this tx context
fo
r pool named commcp. Illegal attempt to create connection from another pool: adm
cp
at weblogic.jdbc.jts.Driver.getExistingConnection(Driver.java:339)
at weblogic.jdbc.jts.Driver.connect(Driver.java:132)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:265)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSP
ersistenceManager.java:698)
at dtpitb.adm.eb.conclude.ConcludeBean_8ki0z9__WebLogic_CMP_RDBMS.ejbFin
dByPrimaryKey(ConcludeBean_8ki0z9__WebLogic_CMP_RDBMS.java:968)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.findByPrimaryKey(RDB
MSPersistenceManager.java:216)
at weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityM
anager.java:755)
at weblogic.ejb20.manager.BaseEntityManager.localFindByPrimaryKey(BaseEn
tityManager.java:711)
at weblogic.ejb20.internal.EntityEJBLocalHome.findByPrimaryKey(EntityEJB
LocalHome.java:273)
at dtpitb.adm.eb.conclude.ConcludeBean_8ki0z9_LocalHomeImpl.findByPrimar
yKey(ConcludeBean_8ki0z9_LocalHomeImpl.java:109)
at dtpitb.adm.sb.common.SessionBeanCommon.getConclusion(SessionBeanCommo
n.java:237)
at dtpitb.adm.sb.reports.ADMReportsBean_l3bmj9_EOImpl.getConclusion(ADMR
eportsBean_l3bmj9_EOImpl.java:98)
at dtpitb.adm.webapp.worker.SearchDecisionHistory.processWork(SearchDeci
sionHistory.java:46)
at gov.nih.nci.itb.webapp.controller.Controller.service(Controller.java:
96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
From what I understand, this meant that I needed to use an XA-supported Driver.
So I installed the Oracle Thin/XA Driver (oracle.jdbc.xa.client.OracleXADataSource)
instead of the regular Oracle Thin Driver I was using (oracle.jdbc.driver.OracleDriver).
After trying that, my application will not load, throwing a bunch of XA Exceptions
similar to the following:
XA error: XAER_RMERR : A resource manager error has occured in the transaction
b
ranch start() failed on resource 'admcp': XAER_RMERR : A resource manager error
has occured in the transaction branch
oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:498)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:19
0)
at weblogic.jdbc.jta.VendorXAResource.start(VendorXAResource.java:41)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:577)
at weblogic.transaction.internal.ServerResourceInfo.start(ServerResource
Info.java:1178)
at weblogic.transaction.internal.ServerResourceInfo.xaStart(ServerResour
ceInfo.java:1121)
at weblogic.transaction.internal.ServerResourceInfo.enlist(ServerResourc
eInfo.java:287)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
rverTransactionImpl.java:407)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1157)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
109)
at weblogic.jdbc.jta.Connection.getXAConn(Connection.java:147)
at weblogic.jdbc.jta.Connection.prepareStatement(Connection.java:259)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(Connection
Impl.java:139)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.
java:92)
at weblogic.ejb20.utils.TableVerifier.checkTableAndColumns(TableVerifier
.java:133)
at weblogic.ejb20.utils.TableVerifier.checkTableAndColumns(TableVerifier
.java:79)
at weblogic.ejb20.utils.TableVerifier.verifyTableAndColumnsExist(TableVe
rifier.java:381)
at weblogic.ejb20.utils.TableVerifier.verifyTableExistsAndCreateMaybe(Ta
bleVerifier.java:432)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.verifyTablesExist(RD
BMSPersistenceManager.java:1119)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.setup(RDBMSPersisten
ceManager.java:150)
at weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.ja
va:208)
at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java
:178)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:158)
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrive
nBeanInfoImpl.java:944)
at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1317)
at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:335)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplication
Container.java:1662)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1087)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1074)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Sla
veDeployer.java:1110)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDep
loyer.java:730)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHan
dler.java:24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
I now have decided I need advice.
Please advise.
Thanks,
PeteThanks, Wayne. My organization is in the process of purchasing WebLogic, but we
are still in the free trial period for another week or two.
I am using:
WebLogic 7.0 SP2
Oracle 8.1.7
(tried all 3 versions of classes12.zip)
Driver Class Name in Conn Pools:
Oracle Thin: "oracle.jdbc.driver.OracleDriver"
Also Tried:
Oracle Thin/XA: "oracle.jdbc.xa.client.OracleXADataSource"
Thanks,
Pete
"Wayne W. Scott" <[email protected]> wrote:
>
Wow, this is heavy duty stuff to be getting free support for!
Let's start with the basics to rule out known problems that have been
fixed.
Is this the base version or have you installed service packs?
Also, this is not an installation problem; it is getting into EJB and
TX. Other groups
like: w.d.i.ejb20; w.d.i.workshop; w.d.i.jdbc -- might be better.
You can also scan discussions in all groups via http://search.beasys.com/weblogic/gonews/
Also try searching at AskBEA -- http://support.bea.com/index.jsp
If these do not help, open a support case so that someone is assigned
to this.
Thank you,
Wayne Scott
Pete Hilfiker wrote:
I am having major problems attempting to upgrade from WebLogic 6.1to 7. After
installing and configuring WebLogic 7, my application wouldn't load,telling me
I needed to use TxDataSources instead of DataSources.
So I switched to TxDataSources and after increasing the Max Capacityin the pools,
I was able to get my application to load and run. However, whenevermy application
tries to access two different pools in the same transaction, I getthis runtime
error.
java.sql.SQLException: Connection has already been created in thistx context
fo
r pool named commcp. Illegal attempt to create connection from anotherpool: adm
cp
java.sql.SQLException: Connection has already been created in thistx context
fo
r pool named commcp. Illegal attempt to create connection from anotherpool: adm
cp
at weblogic.jdbc.jts.Driver.getExistingConnection(Driver.java:339)
at weblogic.jdbc.jts.Driver.connect(Driver.java:132)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:265)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSP
ersistenceManager.java:698)
at dtpitb.adm.eb.conclude.ConcludeBean_8ki0z9__WebLogic_CMP_RDBMS.ejbFin
dByPrimaryKey(ConcludeBean_8ki0z9__WebLogic_CMP_RDBMS.java:968)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.findByPrimaryKey(RDB
MSPersistenceManager.java:216)
at weblogic.ejb20.manager.BaseEntityManager.findByPrimaryKey(BaseEntityM
anager.java:755)
at weblogic.ejb20.manager.BaseEntityManager.localFindByPrimaryKey(BaseEn
tityManager.java:711)
at weblogic.ejb20.internal.EntityEJBLocalHome.findByPrimaryKey(EntityEJB
LocalHome.java:273)
at dtpitb.adm.eb.conclude.ConcludeBean_8ki0z9_LocalHomeImpl.findByPrimar
yKey(ConcludeBean_8ki0z9_LocalHomeImpl.java:109)
at dtpitb.adm.sb.common.SessionBeanCommon.getConclusion(SessionBeanCommo
n.java:237)
at dtpitb.adm.sb.reports.ADMReportsBean_l3bmj9_EOImpl.getConclusion(ADMR
eportsBean_l3bmj9_EOImpl.java:98)
at dtpitb.adm.webapp.worker.SearchDecisionHistory.processWork(SearchDeci
sionHistory.java:46)
at gov.nih.nci.itb.webapp.controller.Controller.service(Controller.java:
96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
From what I understand, this meant that I needed to use an XA-supportedDriver.
So I installed the Oracle Thin/XA Driver (oracle.jdbc.xa.client.OracleXADataSource)
instead of the regular Oracle Thin Driver I was using (oracle.jdbc.driver.OracleDriver).
After trying that, my application will not load, throwing a bunch ofXA Exceptions
similar to the following:
XA error: XAER_RMERR : A resource manager error has occured in thetransaction
b
ranch start() failed on resource 'admcp': XAER_RMERR : A resource managererror
has occured in the transaction branch
oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:498)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:19
0)
at weblogic.jdbc.jta.VendorXAResource.start(VendorXAResource.java:41)
at weblogic.jdbc.jta.DataSource.start(DataSource.java:577)
at weblogic.transaction.internal.ServerResourceInfo.start(ServerResource
Info.java:1178)
at weblogic.transaction.internal.ServerResourceInfo.xaStart(ServerResour
ceInfo.java:1121)
at weblogic.transaction.internal.ServerResourceInfo.enlist(ServerResourc
eInfo.java:287)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(Se
rverTransactionImpl.java:407)
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1157)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
109)
at weblogic.jdbc.jta.Connection.getXAConn(Connection.java:147)
at weblogic.jdbc.jta.Connection.prepareStatement(Connection.java:259)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(Connection
Impl.java:139)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.
java:92)
at weblogic.ejb20.utils.TableVerifier.checkTableAndColumns(TableVerifier
.java:133)
at weblogic.ejb20.utils.TableVerifier.checkTableAndColumns(TableVerifier
.java:79)
at weblogic.ejb20.utils.TableVerifier.verifyTableAndColumnsExist(TableVe
rifier.java:381)
at weblogic.ejb20.utils.TableVerifier.verifyTableExistsAndCreateMaybe(Ta
bleVerifier.java:432)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.verifyTablesExist(RD
BMSPersistenceManager.java:1119)
at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.setup(RDBMSPersisten
ceManager.java:150)
at weblogic.ejb20.manager.BaseEntityManager.setupPM(BaseEntityManager.ja
va:208)
at weblogic.ejb20.manager.BaseEntityManager.setup(BaseEntityManager.java
:178)
at weblogic.ejb20.manager.DBManager.setup(DBManager.java:158)
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrive
nBeanInfoImpl.java:944)
at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1317)
at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:335)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplication
Container.java:1662)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1087)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1074)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Sla
veDeployer.java:1110)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDep
loyer.java:730)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHan
dler.java:24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
I now have decided I need advice.
Please advise.
Thanks,
Pete -
Reg Weblogic Server Startup Problem
Hi
I have configured the weblogic Application Server using Oracle SOA11g
When i started the weblogic server, i am getting below exception.
Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1(11.1.1.5.0) (Build 110305)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
Error Code: 942
Call: SELECT DRIVER_NAME, MIME_TYPES, PROTOCOLS, CARRIERS, SENDER_ADDRESSES, COS
T, DELIVERY_TYPES, SPEED, STATUS_TYPES, CHECKSUM, SUPPORTS_CANCEL, ENCODINGS, SU
PPORTS_REPLACE, SUPPORTS_TRACKING, SUPPORTS_STATUS_POLLING, DEFAULT_SENDER, CAPA
BILITY, LOCK_VERSION FROM DRIVER_INFO
Query: ReadAllQuery(oracle.sdpinternal.messaging.config.DriverInfo)>
Pls find below log from AdminServer.log and domain_name.log
MDS-01370: MetadataStore configuration for metadata-store-usage "soa-infra-store" is invalid.
ORA-06550: line 1, column 12:
PLS-00201: identifier 'MDS_INTERNAL_SHREDDED.GETREPOSITORYVERSION' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
I have tried several solutions for above problem:
Sol1:
I have checked my datasource.
The database details and URL are correct and i am able to test the connection and the DB is up and running.
Sol2:
I dropped RCU and created again but it didnt resolve the issue.
Sol3:
I have renamed the folders tmp, cache and data folders to in the below location
C:\Oracle\Middleware\user_projects\domains\SOA_domain\servers\AdminServer
After starting the weblogic server,these folders are created again but problem is not solved.
Sol4:
Logged intoto Weblogic console->services->Data Source->Click on SOADataSource->Go to Transaction tab->verify 'XA Transaction Timeout:' is set to 0
Sol5:
The schemas details in RCU and during the SOA configuration, there is a screen called "Configure JDBC Component Schema".
The schema details are same in both cases
Sol6: Dropped Database, RCU and SOA and installed again.
But the problem is not solved.
Now i am getting below exception also:
Caused by: javax.ejb.CreateException: SDP-25700: An unexpected exception was cau
ght.
Cause: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.Res
ourceException: Could not create pool connection. The DBMS driver exception was:
IO Error: The Network Adapter could not establish the connection
Action: Check the stack trace for more details.
at oracle.sdpinternal.messaging.storage.MessagingStoreBean.ejbCreate(Mes
sagingStoreBean.java:174)
at oracle.sdpinternal.messaging.storage.MessagingStore_urkbp2_Impl.ejbCr
eate(Unknown Source)
... 56 more
; nested exception is: com.oracle.pitchfork.interfaces.LifecycleCallbackExceptio
n: Failure to invoke public void oracle.sdpinternal.messaging.storage.MessagingS
tore_urkbp2_Impl.ejbCreate() throws javax.ejb.CreateException,javax.ejb.EJBExcep
tion on bean class class oracle.sdpinternal.messaging.storage.MessagingStore_urk
bp2_Impl with args: []>
I have tried deleting tmp folder and renaming tmp, data and cache folders in C:\Oracle\Middleware\user_projects\domains\BPM_Sample_domain\servers\AdminServer location.
But the problem still perists.
Please help me in resolving the issue.
Regards
SwathiHi Swati,
When you see this error
Cause: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.Res
ourceException: Could not create pool connection. The DBMS driver exception was:
IO Error: The Network Adapter could not establish the connection
Action: Check the stack trace for more details.
That means Datasource Connection Pool is failing to create a pool either due to DB is down or no connection made by Pool resource.
Try to tune the Datasource with following parameter will help you.
1. Eanble Test connection on reseve
2. Connection creation retry frequency second set as 10 these two parameter make reconnect back to you DB and Pool start executing correctly.
After enable still have problem please provide complete stack.
Regards,
Kal -
Oracle Rdb JDBC: Insufficient global memory
Environment:
IA64 OpenVMS 8.3
Java RTE version 1.5
Oracle RDB version 7.2-2
SQL/services version 7.3
JDBC server for RDB version 7.3
JDBC-Thin driver version 7.3
The problem:
we have a JDBC dispatcher with 20 executor processes.
We have a client application that performs connect/disconnect to the database before/after each sql select statement.
Sometimes the query doesn't terminate successfully and we get the following error in
the JDBC log file:
RDB$CLIENT_ID_0000038D C00000000*T 201010-21 12:19:13.409 : [email protected] msg : INIT_V713 send>>>>>>>>>>>>> System Error : Insufficient global memory
any help?I would start with RDB administration/configuration documents. It's a DBMS server issue,
not JDBC. Though it may or may not help, in principal, if yo can keep and re-use connections
instead of repeatedly opening and closing, it is usually faster and less burdensome on the DBMS... -
WebLogic Server - JDBC - Oracle
Hi,
I'm a JDBC beginner and I got an ORA-24327 error when accessing Oracle database with IBM WebLogic Server and JDBC OCI 1.2 on a Sun Solaris 2.6 host whith Sun JDK 1.2.2.
Who can help me ?
PASCALI am having the same problem and have not had any luck. Did you figure it out?
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Pascal LAMBERT ([email protected]):
Hi,
I'm a JDBC beginner and I got an ORA-24327 error when accessing Oracle database with IBM WebLogic Server and JDBC OCI 1.2 on a Sun Solaris 2.6 host whith Sun JDK 1.2.2.
Who can help me ?
PASCAL<HR></BLOCKQUOTE>
null -
Distributed transactions/jdbc problem WL60
Hi
Our company has aworking application running on WLS5.1sp9.
Im in the process of migrating it to WL6.0sp2.
Our domain has 2 clusters each running 2 servers:
1) servlet engines (handling http requests from clients, running servlets
and jsp's)
2) ejb containers (runnigour entities and session beans, working with Oracle
8i database using connection pool and TxDataSource)
The scenario:
- a client request invokes a servlet on one of the servlet engines.
- the servlet opens a jndi context to one of the ejb containers
- the servlet open a transaction on a UserTransaction stub on that ejb.
- then the servlet calls an entity bean using a home interface looked up
using the same context.
- the entity bean uses DataSource lookup in its own servers jndi to rerieve
a connection.
and then i get the following exception:
java.sql.SQLException: No default driver for database type:
jdbc:weblogic:jts
at
weblogic.jdbcbase.t3.Driver.seeIfWeNeedToInferDriverNameAndUrlFrom(Driver.ja
va:456)
at weblogic.jdbcbase.t3.Driver.getAllPropsFrom(Driver.java:255)
at weblogic.jdbcbase.t3.Driver.connect(Driver.java:75)
at weblogic.jdbcbase.jts.Driver.createRemoteConnection(Driver.java:199)
at weblogic.jdbcbase.jts.Driver.connect(Driver.java:134)
at
weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java
:44)
at com.unisfair.util.DBHelper.getConnection(DBHelper.java:43)
the transaction toString() gives:
transaction=(IdHash=7541556,Name = [EJB
UserBeanImpl.generateSessionSuffix()],Xid=2:b53da78d3c1badbb,Status=Active,n
umRepliesOwedMe=0,numRepliesOwedOthers=1,seconds since begin=0,seconds
left=30,activeThread=Thread[ExecuteThread: '8' for queue: 'default',5,Thread
Group for Queue:
'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=new,assig
ned=none),SCInfo[ejb2]=(state=active),SCInfo[servlet2]=(state=active),SCInfo
[ejb1]=(state=active),properties=({weblogic.transaction.name=[EJB
UserBeanImpl.generateSessionSuffix()], weblogic.jdbc=t3://10.0.0.31:7007}))
However the error happens on the other ejb server 10.0.0.33:7007
It seems that the jts driver tries to get a remote connection on the server
that coordinates the transaction but uses the deprecated t3 driver.
I hope someone can help us since this problem is a good enough reason for us
not moving on to WL6.0 we also looked at WL6.1 Beta and theres nothing new
about it either.
thanks
Dror Last
Senior Software Engineer
Unisfair Inc.
12 Yad Haruzim St. Tel Aviv 67778 Israel
Tel: +972-3-5373738 Ext. 243
Fax: +972-3-5373731
GSM: +972-55-723710
mailto:[email protected]
http://www.unisfair.com/
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by JDBC_TX ():
In the readme file of Oracle JDBC drivers 8.1.6.0.1 (http://technet.oracle.com/software/tech/java/sqlj_jdbc/files/Readme_01.txt)
it mentioned that it supports "distributed transactions".
As I understand, JDBC transaction is connection based and uses Oracle internal transaction manager. In order to do "distributed transactions", I must have at least two connections open at the same time each to its own database instance. How does the two connections coordinate the transactions? I thought in order to support "distributed transactions", one has to build a higher layer to encapsulate the two connections and therefore coordinate the distributed transactions. Any examples will be welcome.<HR></BLOCKQUOTE>
The two branches of the transaction are coordinated using 2-phase commit.
For samples look under
$ORACLE_HOME/jdbc/demo/samples/oci8/jdbc20-samples/
null -
JDBC Problem with Netscape Enterprise Server 3.61
I have created a servlet->JDBC(Thin driver for Oracle 7.3) model to communicate the ORacle Database on an UNIX box by using Netscape Enterprise Server 3.61. I got the following problems and if anyone could help me. Many many thanks.
java.lang.IllegalAccessError: JdbcDriver at
WhitePageSearch.doGet(WhitePageSearch.java:75) * at
javax.servlet.http.HttpServlet.service(HttpServlet.java:252) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:330) at
sun.servlet.netscape.NSRunner.run(NSRunner.java:144) at
netscape.server.applet.ServerApplet.handleRequest(ServerApplet.java:69)
at netscape.server.applet.HttpApplet.handleRequest(HttpApplet.java:680)
By the way. This model works fine on the servletrunner on my NT machine and I guess there are some problem on the Nescape Server setting.You need to install the Netscape Proxy plug-in.
You can find the plug-in at the BEA download site along with the instructions.
Once downloaded it took about 5 minutes to update a config file and have everything running.
Good Luck...
Daniel Astillero <[email protected]> wrote:
How can I configure Netscape Enterprise Server 3.5.1 to use WebLogic 5.1? -
Hi!
We're using Informix 7 + WL6sp1 + Informix JDBC Driver v2.2. We have a connection
pool and connect to the pool using:
Driver myDriver = (Driver) Class.forName("weblogic.jdbc.pool.Driver").newInstance();
con = DriverManager.getConnection("jdbc:weblogic:pool:poolname");
The problem is as follows:
Every time we modify a stored procedure (DROP ... CREATE ...) our app fails when
trying to use that stored procedure. We have to shut down the server and restart
it in order to keep going.
The stack trace:
java.sql.SQLException: SPL routine(disponibilidad_hot) is no longer valid.
at com.informix.jdbc.IfxSqli.addException(IfxSqli.java, Compiled Code)
at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java, Compiled Code)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java, Compiled Code)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java, Compiled Code)
at com.informix.jdbc.IfxSqli.sendStatementQuery(IfxSqli.java, Compiled
Code)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java, Compiled
Code)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java, Compiled
Code)
at com.informix.jdbc.IfxResultSet.executeQuery(IfxResultSet.java, Compiled
Code)
at com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java,
Compiled Code)
at com.informix.jdbc.IfxPreparedStatement.executeQuery(IfxPreparedStatement.java,
Compiled Code)
at weblogic.jdbc.pool.PreparedStatement.executeQuery(PreparedStatement.java,
Compiled Code)
at es.gesfor.bd.ObtenerDatos.ejecutar(ObtenerDatos.java, Compiled Code)
at es.gesfor.servlets.FiltrosServlet.obtenerHoteles(FiltrosServlet.java,
Compiled Code)
at es.gesfor.servlets.FiltrosServlet.doPost(FiltrosServlet.java, Compiled
Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java, Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java, Compiled Code)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java,
Compiled Code)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java,
Compiled Code)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java,
Compiled Code)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java, Compiled
Code)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)Hi Federico,
It happens because weblogic caches prepred statements.
Though the name of the stored procedure remains the same,
it's a different object from the database point of view, which is
why a mismatch between cache and database occurs.
You may consider setting size of the prepared statement
cache to zero. That should solve the problem. Later, when
the SP code is stabilized, you will be able to turn in on back.
Regards,
Slava Imeshev
"Federico Dios" <[email protected]> wrote in message
news:[email protected]...
>
Hi!
We're using Informix 7 + WL6sp1 + Informix JDBC Driver v2.2. We have aconnection
pool and connect to the pool using:
Driver myDriver = (Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();
con = DriverManager.getConnection("jdbc:weblogic:pool:poolname");
The problem is as follows:
Every time we modify a stored procedure (DROP ... CREATE ...) our appfails when
trying to use that stored procedure. We have to shut down the server andrestart
it in order to keep going.
The stack trace:
java.sql.SQLException: SPL routine(disponibilidad_hot) is no longer valid.
at com.informix.jdbc.IfxSqli.addException(IfxSqli.java, CompiledCode)
at com.informix.jdbc.IfxSqli.receiveError(IfxSqli.java, CompiledCode)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java, CompiledCode)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java, CompiledCode)
at com.informix.jdbc.IfxSqli.sendStatementQuery(IfxSqli.java,Compiled
Code)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java,Compiled
Code)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java,Compiled
Code)
at com.informix.jdbc.IfxResultSet.executeQuery(IfxResultSet.java,Compiled
Code)
atcom.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java,
Compiled Code)
atcom.informix.jdbc.IfxPreparedStatement.executeQuery(IfxPreparedStatement.jav
a,
Compiled Code)
atweblogic.jdbc.pool.PreparedStatement.executeQuery(PreparedStatement.java,
Compiled Code)
at es.gesfor.bd.ObtenerDatos.ejecutar(ObtenerDatos.java, CompiledCode)
ates.gesfor.servlets.FiltrosServlet.obtenerHoteles(FiltrosServlet.java,
Compiled Code)
at es.gesfor.servlets.FiltrosServlet.doPost(FiltrosServlet.java,Compiled
Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java,Compiled Code)
at javax.servlet.http.HttpServlet.service(HttpServlet.java,Compiled Code)
atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
Compiled Code)
atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java,
Compiled Code)
atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
Compiled Code)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java,Compiled
Code)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, CompiledCode)
Maybe you are looking for
-
-
Somehow my shift is stuck on through the computer and not the keyboard. It is making it so i cant enter my password because is all caps and have to use numberpad to enter numbers. Also my command key isn't registering when press, also not keyboard. I
-
Installing program on server and access it from mac workstation
Hi How can i install a program on a mac server and access that program from mac workstation. On windows server you use the remote app manager application to do this. is there something similar on mac?
-
Flash_MMIO_MAP DeviceIoControl error
LiveUpdate & Live Monitor don't seem to want to run on my system. After LiveUpdate installing and rebooting I get several messages saying "Device not started". Then I get "Flash_MMIO_MAP DeviceIoControl error" when starting LiveUpdate. This is a new
-
I have a PDF that I need to put into RTF Conversion is not working What can I do??