Does com.evermind.sql.DriverManagerDataSource provide connection pooling?
Hi,
The class defined in default data-sources.xml file is com.evermind.sql.DriverManagerDataSource. In Oracle9i JDBC Developer's Guide and Reference Release 1 (9.0.1) documentation's chapter 15, Oracle encourages to use this emulated data source for it is fast and efficent.
But I could not find any info about whether com.evermind.sql.DriverManagerDataSource provides connection pooling.
Actually, I want to make sure that if I use default data-sources.xml and ejb-location attribute for lookup method, will I be able to get pooled connection?
Thanks a lot.
Hi,
Thank you for taking your time.
I could manage to get connections from the com.evermind.sql.DriverManagerDataSource using jdbc/OracleDS in JNDI lookup string.
As far as I've understood from the document you pointed out, I could not see "connection pooling" expression directly for emulated class. But there is an explanation that says "Connections retrieved within a single transaction from a data source using the same username and password causes the logical connections to share a single physical connection.". Is this what you've mentioned?
Lastly, how can I make sure that the connections are coming from the pool? Is there a way to see that?
Thanks again.
Similar Messages
-
In which jar com.evermind.sql.DriverManagerDataSource located??
in data-sources.xml when i changed the class from com.evermind.sql.DriverManagerDataSource to oracle.jdbc.pool.OracleDataSource i didnt get any exception in std_err log and also it didnt create any spy.log;
when i put class="com.evermind.sql.DriverManagerDataSource " in datasources.xml i am getting this exception
05/04/25 10:50:54 Error initializing data-source 'oraclePool': DriverManagerDataSource driver 'com.p6.engine.spy.P6SpyDriver' not found
in which jar com.evermind.sql.DriverManagerDataSource located??
<data-source
class="oracle.jdbc.pool.OracleDataSource"
name="oraclePool"
location="oraclePool"
xa-location="oraclePool"
ejb-location="oraclePool"
connection-driver="com.p6.engine.spy.P6SpyDriver"
username="egl1005"
password="egl"
url="jdbc:oracle:thin:@192.168.68.44:1521:egl"
inactivity-timeout="30"
/>
this batch file is okay??in home/lib/p6spy.jar is there ;and in node1\lib spy.properties is located.
set path=c:\j2sdk1.4.2_06\bin;
set classpath=C:\OC4J_EXTENDED\j2ee\home\lib;C:\OC4J_EXTENDED\j2ee\home\node1\lib;%classpath%;
java -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -Xdebug -Xnoagent -Djava.compiler=NONE -Xmx512m -Dhttp.session.debug=true -Djdbc.connection.debug=true -Dp6.home=C:\OC4J_EXTENDED\j2ee\home\lib -Dp6trace=true -jar oc4j.jar -config node1\config\server.xml -userThreads -verbosity 10 -out node1\log\std_out.log -err node1\log\std_err.logHere is the instructions how to use P6SPY with OC4J 9.0.4/10.1.2
http://radio.weblogs.com/0135826/2004/03/30.html
-Debu -
Datasource using com.evermind.sql.DriverManagerDataSource
Is com.evermind.sql.DriverManagerDataSource still supported?
If not can you direct me to documents on the new way of using datasources. In JDeveloper 10.1.3, "Embedded OC4J Server Preference -> Datasource" gives me three choices: Connection Pool,Managed Data Source, Native Data Source.Now the problem is the Connection object being passed
as parameter to the remote interface of the B bean
The solution is simple - do NOT do that.
A remote object is intended to be run on a remote machine. There is absolutely no way that a resource (socket, file handle, shared memory, pipe, etc) can be used by a remote machine.
Belive me this code runs fine on Weblogic 8.1,
JBossAs a guess because either those two are nice to you and/or because you are not running clusters.
>
i'm unaware that connection object is not serializable
but how this works in other two servers while not in
oracle 9ias,
Only because they are not actually passing it remotely.
i'm using this datasource class
com.evermind.sql.DriverManagerDataSource
after fact finding also i'm unable to find the
solution can anybody guide me in this regardThe solution is to NEVER do that in the first place.
If you want two different objects and want to pass the connection then use a local interface instead of the remote one. -
Hi
I get an this stack on the server side while doing a forward using RequestDispatcher.
com.evermind.server.http.HttpIOException: Connection aborted by peer: socket write error
at com.evermind.server.http.EvermindServletOutputStream.flushBuffer(EvermindServletOutputStream.java:81)
at com.evermind.server.http.EvermindHttpServletResponse.flushBuffer(EvermindHttpServletResponse.java:1818)
at javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:52)
The funniest part is, i get this exception while i submit the request second time i get this error.. First time it works fine. :)
ANy solution on this would be greatly appreciated.
Thanks
ManjuHi!
I posted a TAR on metalink for this "read timed out" problem. This is the answer I got:
apparently the messages that you listed seem refer to a problem in reading request data from the client - so the HttpIOException is triggered.
I have made a little research on HttpIOException in request-reading context. There are only
two situations in which HttpIOException can be raised without an causing IOExce
ption, and I think none of them applies. So we'd have some kind of IOException t
hat causes the HttpIOException. It might well be a SocketException, because the
text "Read timed out" is as far as I know the standard text for SocketException
if the socket's SoTimeout has been reached.
In fact there is a configuration parameter for OC4J (though undocumented), which allows you to set the Socket's SoT
imeout -- and the default is 15000 (measured in milliseconds). The name is "orac
le.j2ee.http.socket.timeout", and it should be available in OC4J 9.0.3.1 and hig
her (I am definitely sure that it exists in OC4J 9.0.4.1).
So can you please add something like "-Doracle.j2ee.http.socket.timeout=120000" to the startup comma
nd for your standalone OC4J container to increase the timeout from 15 seconds to
2 minutes?
It helped us, although some requests time out "normally" instead.
/jonas -
OC4J 9.0.4 with com.evermind.sql.DataSourceUserManager
Hey,
we try to start the OC4J 9.0.4 with the com.evermind.sql.DataSourceUserManager. On OC4J 9.0.3 it will works fine, but now we get an error and can't find a solution.
Shown error:
Error initializing server: Error instantiating default application at file:/C:/OC4J_904/j2ee/home/config/appli
cation.xml: Error initializing userManager 'com.evermind.sql.DataSourceUserManager': NamingException: Need to
specify class name in environment or system property, or as an applet parameter, or in an application resource
file: java.naming.factory.initial
Has somebody solved this problem?
Regards
C. DiemerHello!
We have the same problem but with another error.
04/06/09 14:46:42 Error instantiating application 'adminguiden' at file:/opt/oracle/product/9.0.4/j2ee/admguide/applications/adminguiden.ear: Error initializing userManager 'com.telia.pg.realm.PGDataSourceUserManager': NamingException: Not in an application scope - start Orion with the -userThreads switch if using user-created threads
04/06/09 14:46:44 Oracle Application Server Containers for J2EE 10g (9.0.4.0.0) initialized
Suggestions ? -
Specifying initialization SQL for a connection pool
Hi,
I am having a locale problem with my application server and oracle database server. I would like to issue an "ALTER SESSION SET NLS_LANG= ..."
Is there any way to specify an initialization SQL or any other recommentations from internationalization perspective.
Thanks in advanceIt's ok I found the answer to connection pooling at http://www.developer.com/db/print.php/10920_2172891_3 if anyone is interested.
Cheers!
James -
Hi,
I'm trying to use the oc4j connection pooling as described in the J2EE Service guide.
my data-sources.xml looks like this:
<?xml version="1.0" standalone='yes'?>
<!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
<data-sources>
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="jCROSS"
location="jdbc/JCROSSCoreDS"
xa-location="jdbc/xa/JCROSSXADS"
ejb-location="jdbc/jCROSS"
pooled-location="jdbc/jCROSSPool"
max-connections="30"
min-connections="10"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="username"
password="password"
url="jdbc:oracle:thin:@localhost:1521:test"
inactivity-timeout="30"
connection-retry-interval="1"
/>
</data-sources>
I'm running the following code:
Connection con[] = new Connection[15];
DataSource ds = null;
try {
InitialContext ctx = new InitialContext();
ds = (DataSource)ctx.lookup("jdbc/jCROSS");
for(int i=0;i<=10;i++)
con[i] = ds.getConnection();
} catch (Exception e) {
System.out.println(e);
} finally {
for(int i=0;i<=10;i++)
con.close();
I'm targeting the ejb-location because I need a pooled and transaction aware connection but when running this code with oc4j in debug mode I don't see that the connections are pooled:
Oracle9iAS (9.0.3.0.0) Containers for J2EE initialized
new DebugConnection(1)
new DebugConnection(2)
new DebugConnection(3)
Press enter to continue
new DebugConnection(4)
new DebugConnection(5)
new DebugConnection(6)
new DebugConnection(7)
new DebugConnection(8)
new DebugConnection(9)
new DebugConnection(10)
new DebugConnection(11)
closing DebugConnection(1)
closing DebugConnection(2)
closing DebugConnection(3)
closing DebugConnection(4)
closing DebugConnection(5)
closing DebugConnection(6)
closing DebugConnection(7)
closing DebugConnection(8)
closing DebugConnection(9)
closing DebugConnection(10)
closing DebugConnection(11)
Open sets: {}
Open connections: {}
Dirty connections:
Press enter to continue
when changing the lookup to :
ds = (DataSource)ctx.lookup("jdbc/jCROSSPool");
the pool works, but few questions arise from this behaviour:
1. Does the ejb-location support pooled connections? How? (in various articles it is recommend to specifically use this location).
2. Are the connections from the pooled-location transaction-aware?
Thx in advance.Hi people!
I have a question on the above code.
I tried it myself on OC4j 9.0.3 (the one that comes with JDeveloper) and I noticed the connections on the pool. The problem is the behaviour of this code when the datasource is configured to have as a "max_connections" attribute a value less than 10, e.g. 8.
I tried a datasource of the following form
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="OracleDS"
location="jdbc/OracleCoreDS"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="myuser"
password="mypass"
min-connections="2"
max-connections="8"
url="jdbc:oracle:thin:@localhost:1521:orcl"
inactivity-timeout="60">
<property name="cacheScheme" value="DYNAMIC_SCHEME"/>
</data-source>
but the execution of the code stops when it comes to get a Statement object out of the 9th connection object. Isn't the pool supposed to give a new connection and remove it when it's finished with it? After all, the documentation says that this is the default behaviour of the pool (it is not necessary to declare the DYNAMIC_SCHEME in the data-source.xml)
I am interested in this, because I have a bunch of JSP files (100 of them or even more) that shall use the same connection pool. If some of them are being executed concurrently, then there will definitely be a problem with the available connection objects.
Thanx -
DataSource Connection Pooling in 903?
We are having difficulty getting 9iAS DataSource Pooling to work. We are using 9iAS 9.0.3 (without Infrastructure) and, as per the J2EE Services Guide, have :
1) Added...
Context ic = new InitialContext();
DataSource ds (DataSource) ic.lookup("jdbc/OracleDS")
Connection con = ds.getConnection();
...to our code.
2) Modified the default DataSource's url, username, password, min-connections & max-connections from within Enterprise Manager (leaving ejb-location as is at "jdbc/OracleDS") and restarted the Instance.
The app generates an exception when trying to locate the OracleDS, however.
We have also tried replacing the "com.evermind.sql.DriverManagerDataSource" class with "oracle.jdbc.pool.OracleConnectionCacheImpl" as per another post's recommendation.
It appears that others have had similar problems (prior to 903?), but many have, in fact, (now) got this working successfully -- what are we missing please......?
Thanks.Hi people!
I have a question on the above code.
I tried it myself on OC4j 9.0.3 (the one that comes with JDeveloper) and I noticed the connections on the pool. The problem is the behaviour of this code when the datasource is configured to have as a "max_connections" attribute a value less than 10, e.g. 8.
I tried a datasource of the following form
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="OracleDS"
location="jdbc/OracleCoreDS"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="myuser"
password="mypass"
min-connections="2"
max-connections="8"
url="jdbc:oracle:thin:@localhost:1521:orcl"
inactivity-timeout="60">
<property name="cacheScheme" value="DYNAMIC_SCHEME"/>
</data-source>
but the execution of the code stops when it comes to get a Statement object out of the 9th connection object. Isn't the pool supposed to give a new connection and remove it when it's finished with it? After all, the documentation says that this is the default behaviour of the pool (it is not necessary to declare the DYNAMIC_SCHEME in the data-source.xml)
I am interested in this, because I have a bunch of JSP files (100 of them or even more) that shall use the same connection pool. If some of them are being executed concurrently, then there will definitely be a problem with the available connection objects.
Thanx -
Problems using connection pooling
I'm having problems configuring connection pooling in oc4j. Have specified my datasource/connection pool in my data-sources.xml. I always get the following error when I try to access it with an instance of OracleConnectionPoolDataSource within my apps. The app server dosen't seem to create the connections when started 'cos its not displayed within Oracle dba studio. Can anyone tell what I need to do pls.
regards!
dyzke
//-- error displayed
Exception in thread "main" java.sql.SQLException: Io exception: The Network Adap
ter could not establish the connection
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:323)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:260)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:365)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java
:111)
// -- extract
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="MYDS"
location="jdbc/XXX"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
pooled-location="xxx/xxxx"
max-connections="10"
min-connections="3"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="admin"
password="admin"
url="jdbc:oracle:thin:@localhost:xxx"
inactivity-timeout="30"
/>see my answer in the other newsgroup.
please don't cross post.
"M. Hammer" <[email protected]> wrote in message
news:[email protected]..
Hi,
We have problems using connection pooling in a WLS 5.1.x - Cluster. Is it
possible to use CP in such a cluster at all ? The problem is, connections
will be opened and never been closed. How can I configure a cluster forCP?
>
I have a WLS-Cluster with 2 instances and my webApp uses connectionpooling.
By the way I get a connection on Instance 1, Instance 2 gets a connection
also, but never releases it.
In my opinion, the reference to the connection in the partner-instancewill
be lost.
How do I have to configure my cluster to work well with that stuff ?
Thank a lot,
Markus. -
Cannot create a sybase connection pool
I am trying to migrate from Orion app server to Sun One appserver. Here is how I define the connection pool for orion
<data-source class="com.evermind.sql.DriverManagerDataSource"
name="TestPool"
location="jdbc/rumbaDataSource"
xa-location="jdbc/xa/rumbaPool"
ejb-location="jdbc/rumbaPool"
connection-driver="com.sybase.jdbc2.jdbc.SybXADataSource"
connection-retry-interval="60"
username="test"
password="test"
url="jdbc:sybase:Tds:3.23.24.25:20000/abc?HOSTNAME=rumba"
inactivity-timeout="300"
min-connections="6"
max-connections="75"
/>
This is how my connection pool appears in Sun ONE
<jdbc-connection-pool steady-pool-size="8" max-pool-size="32" max-wait-time-in-millis="60000" pool-resize-quantity="2" idle-timeout-in-seconds="300" is-isolation-level-guaranteed="false" is-connection-validation-required="false" connection-validation-method="auto-commit" fail-all-connections="false" datasource-classname="com.sybase.jdbc2.jdbc.SybXADataSource" name="TestPool">
<property value="3.23.24.25" name="serverName"/>
<property value="20000" name="portNumber"/>
<property value="jdbc:sybase:Tds:" name="networkProtocol"/>
<property value="test" name="user"/>
<property value="test" name="password"/>
<property value="abc" name="databaseName"/>
</jdbc-connection-pool>
But, I am unable to make a connection using this connection poolHere is the exception
SEVERE: RAR5041:Cannot get jdbc connection
com.sun.enterprise.repository.J2EEResourceException
java.lang.NoSuchMethodException: seturl
at com.sun.enterprise.repository.JdbcConnectionPool.createDataSource(Jdb
cConnectionPool.java:243)
at com.sun.enterprise.resource.JdbcUrlAllocator.createResource(JdbcUrlAl
locator.java:80)
at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyReso
urces(IASNonSharedResourcePool.java:856)
at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonS
haredResourcePool.java:416)
at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResou
rce(IASNonSharedResourcePool.java:625)
at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASN
onSharedResourcePool.java:520)
at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolM
anagerImpl.java:263)
at com.sun.enterprise.resource.JdbcXAConnection.<init>(JdbcXAConnection.
java:74)
at com.sun.enterprise.resource.Jdbc10XaAllocator.createResource(Jdbc10Xa
Allocator.java:94)
at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyReso
urces(IASNonSharedResourcePool.java:856)
at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonS
haredResourcePool.java:416)
at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResou
rce(IASNonSharedResourcePool.java:625)
at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASN
onSharedResourcePool.java:520)
at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolM
anagerImpl.java:263)
at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerIm
pl.java:170)
at com.sun.enterprise.resource.JdbcDataSource.internalGetConnection(Jdbc
DataSource.java:241)
at com.sun.enterprise.resource.JdbcDataSource.getConnection(JdbcDataSour
ce.java:124)
at samples.jdbc.simple.servlet.GreeterDBLogDisplayServlet.doGet(Unknown
Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.StandardWrapperValve.invokeServletService(St
andardWrapperValve.java:720)
at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrap
perValve.java:118)
at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperVa
lve.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:274)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:505)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:212)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:203)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:505)
at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProce
ssor.java:157)
at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
INFO: CORE3282: stdout: - Could not interact with the database
INFO: CORE3282: stdout: - Exception: java.sql.SQLException: com.sun.enterprise.r
epository.J2EEResourceException
WARNING: CORE3283: stderr: at com.sun.enterprise.repository.JdbcConnectionP
ool.createDataSource(JdbcConnectionPool.java:238)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcUrlAllocator.
createResource(JdbcUrlAllocator.java:80)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
INFO: CORE3282: stdout: java.lang.NoSuchMethodException: seturl
INFO: CORE3282: stdout: Closing statement...
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.initPool(IASNonSharedResourcePool.java:416)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.internalGetResource(IASNonSharedResourcePool.java:625)
INFO: CORE3282: stdout: - Could not close the statement and connection
INFO: CORE3282: stdout: GreeterDBLogDisplayServlet is all done
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.getResource(IASNonSharedResourcePool.java:520)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.PoolManagerImpl.g
etResourceFromPool(PoolManagerImpl.java:263)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcXAConnection.
<init>(JdbcXAConnection.java:74)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.Jdbc10XaAllocator
.createResource(Jdbc10XaAllocator.java:94)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.initPool(IASNonSharedResourcePool.java:416)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.internalGetResource(IASNonSharedResourcePool.java:625)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResou
rcePool.getResource(IASNonSharedResourcePool.java:520)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.PoolManagerImpl.g
etResourceFromPool(PoolManagerImpl.java:263)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.PoolManagerImpl.g
etResource(PoolManagerImpl.java:170)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcDataSource.in
ternalGetConnection(JdbcDataSource.java:241)
WARNING: CORE3283: stderr: at com.sun.enterprise.resource.JdbcDataSource.ge
tConnection(JdbcDataSource.java:124)
WARNING: CORE3283: stderr: at samples.jdbc.simple.servlet.GreeterDBLogDispl
ayServlet.doGet(Unknown Source)
WARNING: CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:740)
WARNING: CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpSe
rvlet.java:853)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
.invokeServletService(StandardWrapperValve.java:720)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
.access$000(StandardWrapperValve.java:118)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
$1.run(StandardWrapperValve.java:278)
WARNING: CORE3283: stderr: at java.security.AccessController.doPrivileged(N
ative Method)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve
.invoke(StandardWrapperValve.java:274)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:505)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardContextValve
.invoke(StandardContextValve.java:212)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:505)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardHostValve.in
voke(StandardHostValve.java:203)
WARNING: CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.inv
oke(StandardPipeline.java:505)
WARNING: CORE3283: stderr: at com.iplanet.ias.web.connector.nsapi.NSAPIProc
essor.process(NSAPIProcessor.java:157)
WARNING: CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebC
ontainer.java:598) -
Whether or not using connection pooling?
Hi,
This is our configuration of data-sources. I want to make sure that it uses connection pooling. How can i check it?
All the jsp forms works fine but I do not know whether it uses connection pooling. Please help.
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="OracleDS"
location="jdbc/OracleCoreDS"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
pooled-location="jdbc/pooled"
username="xxxx"
password="xxxx"
max-connections="50"
min-connections="15"
connection-retry-interval="1"
url="jdbc:oracle:thin:@xxxx.xxx.org:1521:xxxx"
inactivity-timeout="30"
wait-timeout="30"
/>
</data-sources>Kavi -- the datasource is one part of the equation. You look to have correctly configured one to enable connections to be pooled. You are using an emulated datasource.
The other aspect to this is which "location-value" you lookup and use from your code.
If you want to have a pooled connection datasource, given this definition you have, then you need to lookup the value of the "ejb-location" from within your code.
If you do this directly, then it'd look something like:
try
InitialContext ctx = new InitialContext();
DataSource poolDS = (DataSource)ctx.lookup("jdbc/OracleDS");
Connection c = poolDS.getConnection();
catch(NamingException ne}
With the min-pool setting and the emulated datasources, the min-connections are not established at startup time. The connections grow, and once they meet the min setting, they are never allowed to drop below that value.
One way to check for the connections being used is to query the Oracle database data dictionary
logon as system (or a dba priv account) and query the
v$session table with something like
SQL> select username,proc from v$session
USERNAME PROGRAM
SYS ORACLE.EXE
SYS ORACLE.EXE
SYS ORACLE.EXE
SYS ORACLE.EXE
SYS ORACLE.EXE
SYS ORACLE.EXE
SYSTEM sqlplus.exe
FAQAPP JDBC Thin Client
The J2EE Services Guide from the OTN documentation area describes the datasources and their functions in more detail.
cheers
-steve- -
I am getting the following error while running JSP. Can anyone guide me.
Caught "com.evermind.server.rmi.OrionRemoteException" while attempting to find all DepartmentBean entries.
com.evermind.server.rmi.OrionRemoteException: Database error: Io exception: The Network Adapter could not establish the connection; nested exception is: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
Add entry
I have doubt in
My rmi.xml file
<?xml version="1.0" standalone='yes'?>
<!DOCTYPE rmi-server PUBLIC "Orion RMI-server" "http://xmlns.oracle.com/ias/dtds/rmi-server.dtd">
<rmi-server port="23791" >
<!-- A remote server connection example -->
<!-- <server host="the.remote.server.com" username="adminUser" password="123abc" /> -->
<!-- <server host="169.254.162.207" username="admin" password="welcome" /> -->
<!-- <server host="prg-fg9s9g12dnz" username="admin" password="welcome" /> -->
<!-- path to the log-file where RMI-events/errors are stored -->
<log>
<file path="../log/rmi.log" />
</log>
</rmi-server>
If I give server host line My oc4j server is NOT initialized.
In My Data Sources file :
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="jdbc/DBConnection"
location="jdbc/OracleCoreDS"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/DBConnection"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="RajiveShukla"
password="pujavrms1"
url="jdbc:oracle:thin:@localhost:1521:wbs"
inactivity-timeout="30"
/>
And JSP which I run is :
<%
* list.jsp
* Lists all the entries stored through EmployeeBean. This JSP is the only JSP
* that will actually connect to the entity bean. On success, it will save a
* reference to the entity bean in the session. So there will be one reference
* to the bean per session.
%>
<%@ page import="com.webstore.*,java.io.*,java.net.*,java.util.*,javax.naming.*,javax.rmi.*" %>
<%
// Make sure this page will not be cached by the browser
response.addHeader("Pragma", "no-cache");
response.addHeader("Cache-Control", "no-store");
// We will send error messages to System.err, for verbosity. In a real
// application you will probably not want this.
PrintStream errorStream = System.err;
// If we find any fatal error, we will store it in the "error" variable. If
// an exception is caught that corresponds with this error message, then we
// will store it in the "exception" variable.
String error = null;
Exception exception = null;
// First check if the reference to the EJB is already stored in the session.
DepartmentHome home = (DepartmentHome) session.getAttribute("DepartmentHome");
// If not, then attempt to get the initial JNDI context.
if (home == null) {
// When attempting to connect to JNDI, we store the reference to the
// initial JNDI context in this variable. We will use it to lookup the
// entity bean.
Context context = null;
try {
context = new InitialContext();
} catch (Exception e) {
exception = e;
error = "Caught \"" + exception.getClass().getName() + "\" while " +
"attempting to create the initial JNDI context.";
errorStream.println(error);
exception.printStackTrace(errorStream);
// We have specified "EmployeeBean" in the web.xml file as the name
// by which we would like to contact the EmployeeBean home interface. We will
// have to prepend "java:comp/env/", the root `directory' for enterprise
// beans.
//final String location = "java:comp/env/DepartmentBean";
if (error == null) {
try {
// Attempt to lookup an object at the specified location in the JNDI
// context.
//Object boundObject = context.lookup(location);
Object boundObject = context.lookup("Department");
// Try to convert it to an instance of EmployeeBean, the home
// interface for our bean.
home = (DepartmentHome) PortableRemoteObject.narrow(boundObject,
DepartmentHome.class);
// If we got this far, we've done it, let's save the reference to the
// Employee home interface in the session for future use by both
// this page and the other JSP pages.
session.setAttribute("DepartmentHome", home);
} catch (Exception e) {
exception = e;
error = "Caught \"" + exception.getClass().getName() + "\" while " +
"attempting to lookup the Department bean at \"" + "\".";
//location + "\".";
errorStream.println(error);
exception.printStackTrace(errorStream);
// This is the variable we will store all records in.
Collection recs = null;
if (error == null) {
try {
recs = home.findAll();
} catch (Exception e) {
exception = e;
error = "Caught \"" + exception.getClass().getName() + "\" while " +
"attempting to find all DepartmentBean entries.";
errorStream.println(error);
exception.printStackTrace(errorStream);
// Decide what the title will be.
String title;
if (error != null) {
title = "Error";
} else {
title = "com.webstore | List of entries";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE><%= title %></TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<H1><%= title %></H1>
<%
// Display the error message, if any.
if (error != null) {
%>
<P><BLOCKQUOTE><%= error %></BLOCKQUOTE>
<%
// Display the exception message, if any.
if (exception != null) {
%>
<P><BLOCKQUOTE><CODE><%= exception %></CODE></BLOCKQUOTE>
<%
} /* if */
} else {
// If there are no recs to be displayed, display a descriptive text.
if (recs.size() == 0) {
%>
<P><BLOCKQUOTE>No entries found.</BLOCKQUOTE>
<%
// Otherwise display a table with all columns, and
// display two extra choices: "Edit" and "Delete".
} else {
%>
<P><TABLE border="1" width="100%">
<TR>
<TD><STRONG>DptNo (long)</STRONG></TD>
<TD><STRONG>DptName (String)</STRONG></TD>
<TD><STRONG>Actions</STRONG></TD>
</TR>
<%
Iterator iterator = recs.iterator();
while(iterator.hasNext()) {
Department rec = (Department) PortableRemoteObject.narrow(iterator.next(),
Department.class);
long dptNo = rec.getDptno();
String dptName= rec.getDptname();
// put all pk columns in hashtable for URLEncoding
Hashtable cols = new Hashtable();
cols.put("DPTNO",Long.valueOf("dptNo"));
// URLEncode columns as params to JSP
StringBuffer buf = new StringBuffer();
Enumeration params = cols.keys();
while (params.hasMoreElements()) {
String param = (String)params.nextElement();
String value = (String)cols.get(param);
buf.append(URLEncoder.encode(param) +
"=" + URLEncoder.encode(value));
if (params.hasMoreElements())
buf.append("&");
String editURL = "dptedit.jsp?" + buf;
String deleteURL = "dptdelete.jsp?" + buf;
%>
<TR>
<TD><%= dptNo %></TD>
<TD><%= dptName %></TD>
<TD><A href="<%= editURL %>">Edit</A> <A href="<%= deleteURL %>">Delete</A></TD>
</TR>
<%
} /* for */
%>
</TABLE>
<%
} /* else */
} /* else */
// Finally display a link to the page that allows the user to add an entry
// to the address book.
%>
<P><TABLE border="1">
<TR><TD><A href="dptadd.jsp">Add entry</A></TD></TR>
</TABLE>
</BODY>
</HTML>
Please guide me..Hi Avi,
Thanks,
I have already used earlier..
the data-sources file is as under.
<data-source class="com.evermind.sql.DriverManagerDataSource" name="jdbc/DBConnection" location="jdbc/OracleCoreDS" xa-location="jdbc/xa/OracleXADS" ejb-location="com.webstore.Department" connection-driver="oracle.jdbc.driver.OracleDriver" username="RajiveShukla" password="pxujxa" url="jdbc:oracle:thin:@PRG-FG9S9G12DNZ:1521:wbs" inactivity-timeout="30"/>
</data-sources>
The username and password and sid, I can connect in the sqlPlus
Do we have to give remote server name in rmi.xml.. It is not initilizing the J2EE server if we give that.??
I am using thin driver , if any change or any settings please write me..
Thanks in advance..
Rajive -
MTS, OraOLEDB provider, and Connection Pooling
I have read through "Using Microsoft Transaction Server with Oracle8" (http://technet.oracle.com/doc/oracle8i_816/nt.816/a73029/prog.htm#1082299) and the OraOLEDB provider document, and found little coverage in regard to the subject of "Connection Pooling." Could you point me to additional documentation and code samples that would help guide me in designing my application.
I am designing a web based distributed application subsystem with MTS/COM+, OraOLEDB provider (8.1.7.2.0), Oracle Services for MTS (8.1.7.0.0) and Oracle 8i (8.1.6). A major requirement of this subsystem is that it scales well as it is utilized by more and more applications and users. This requirement could be accomplished much easier if the OraOLEDB Provider provides Connection Pooling. Much of the documentation I have seen from Microsoft describes Connection Pooling using ODBC. The documentation from Oracle discusses Connection Pooling with OO4O or OCI. Does the OraOLEDB Provider provide Connection Pooling? If so could you point me to additional documentation and samples?
Thanks,
Bryan WoodI am facing the same issue. This is strange, no one has responded to this for a year. What does it mean? It sux so bad that no one uses OmniPortlet? It's clear when you execute a sql thru this stupid OmniPortlet it opens a connection and never releases it. I have seen this by turning off everything and keep refreshing the OmniPortlet.
What bothers me more is that there seems to be no freakn documentation on this especially around how to do this from the console and how to use the jndi datasource. There has to be a way. Please help us out on this either from inside or outside oracle.
The world class Oracle support seems to be a joke. -
Need to connect SQL Server 2008 and CR 2008 via OLE DB SQL Server Provider
I am relatively new to Crystal but have done some minor design/layout work in the past. I just purchased CR 2008 and dowloaded a Eval Copy of SQL Server 2008 to build test reports that will then be uploaded to a hosted web app we use for use with live data.
I am having some trouble, however, getting SQL server and CR 08 to talk the way I need them to. We have to use the OLE DB for SQL Server Provider connection for the reports to work in our hosted live environment but I cannot get this to work on SQL 2008. The server never appears in the Server dropdown and if I manually type it get the following error:
failed to open connection.
Detail ADO Error Code: 0x80004005
Source: Microsoft OLE DB Provider for SQL Server
Description: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access is denied.
SQL State: 08001
Native Error: 17 [Database Vendor Code: 17 ]
I am setting up the connection through the Database Expert choosing the OLE DB (ADO) folder and then selecting 'Microsoft OLE DB Provider for SQL Server' then entering my server name, user id, password, and Database name.
I have uninstalled and reinstalled everything twice. I have installed the Microsoft SQL Server 2008 Analysis Service 10.0 OLEDB Provider pack.
My provider/host does use SQL Server 2005 but since I can't get a free Evaluation version of it I have to use 2008 for my local copy. I have searched the web over (including here) and cannot find an answer to my issue.
I cannot use SQL Server Express version because our copy of the DB is too big. I cannot use the Native 10 provider as the reports will not work once I have uploaded them to the live data.
any help anyone can provide for this would be GREATLY appreciated. Thank you and sorry if this is a dupe post. I have searched everywhere and cannot find the answer.Hello,
Go to Microsoft's site and download their OLE DB test tool and test the connection. Did you install the MS client tools to test the connection also?
As a test try creating an ODBC System DSN just to verify you can connect and create a report also.
And don't use the SA account, MS 2008 disabled it, sort of, so you'll have to create a new account and grant permissions to any table you need to use.
SQL 2008 changed security model big time so it's not the same as 2005 once was....
Good luck
Don -
Questions on Connection Pooling
I already read the documentations on data-sources.xml, but I still have questions. In the following data-sources.xml (for OC4J 9.0.3):
<data-source
class="com.evermind.sql.ConnectionDataSource"
name="ccf"
location="jdbc/ccf"
xa-location="jdbc/xa/ccf"
ejb-location="jdbc/ccfPool"
url="jdbc:oracle:thin:@erb:1521:prod"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="scott"
password="tiger"
max-connections="300"
min-connections="5"
max-connect-attempts="10"
connection-retry-interval="1"
inactivity-timeout="30"
wait-timeout="30"
/>
I know that if we want to use a connection pool, we should use "ejb-location" and it is the only one used for emulated data sources. I also know that both "location" and "xa-connection" are used for non-emulated data sources.
Then my questions are:
1) Does non-emulated data source mean that it can not used for connection pooling? In other words, both "location" and "xa-location" can not be used for connection pooling? The only one that can be used for connection pooling is "ejb-location"?
2) How can I use a non-pooled connection? right now, I am using "location" for non-connnection pooling, is this the right way to do it? The documentation says that it will be deprecated in future release, then what should I use if I want a non-pooled connection? can I still use "ejb-location" by setting "min-connections" and "max-connections" to 1? This is assuming that we can NOT use "location" to get the data source.
3) Putting the username and password in the data-sources.xml seems not be good from the security point of view. But, if I am using CMP, I must supply the username and password in the data-sources.xml. Is there another way around this?
Thank you very much for the help in advance.
JingzhiLiu
I may not answer all ur questions.But would like to share my experiences....
3) U can set the username and password dynamically also...we use it in orion..so u should be able to use it in oc4j..as a matter of fact, we can set all the data-sources parameters dynamically(programmatically).
1) I may not be correct 100 percent with this :but for pooling only ejb-location is used and for non pooling location is used.
For non pooled connections also, use ejb-location and dont give any max and min connections..let it take the default values...
I am not aware that Oracle is going to deprecate the location ..well it is good to hear this which will reduce some confusion..
seems there is lot being raised on these topics..
yugandhar
Maybe you are looking for
-
Hi everyone.. the problem is: The server have all the UUID or ID of the computers.... but in windows we know how to see that but in mac we dont have idea to where see this number... so.. i try in terminal with some commands but everytime say the UUID
-
Need Help with site performance
Looking for Help.. In particular we would like help from experts in ssl, browser experts (how browsers handle encryption, de-encryption), iPlanet experts, Sun crypto card experts, webdesign for performance experts. Our website is hosted on a Sun Ente
-
EJB 3.0 JPA Entities and preserving user identities
Hello all, I've been reading about some of the techniques available to Oracle DB developers to ensure that some sense of a user's real identity is maintained in multitier applications (<http://download-uk.oracle.com/docs/cd/B19306_01/network.102/b142
-
Badi - BBP_TARGET_OBJTYPE - Code approach
My Scenario is Extended Classic scenario -for completed shopping carts it creates PO and for catalog item it creates PO. For incomplete carts it creates PR But our requirement for a particular vendor from the catalog it should create a PR but not PO.
-
Is it possible to convert old .m2t files to camera archives?
Captured several Sony HC3 HD tapes using DVHSCAP a few years ago to save on disc space. I assume these can't be opened directly in FCP X and I'd need to decompress to AIC and import. It would be nice if there was a method/utility to convert directly