Connecting Pooling using Java Servlets
Hello Friends I am in search of a programme to make a connection pooling using Java Servlets.
Please let me know where i will get it or do post it.
If you mean JDBC connection pools, one solution can be found here - http://www.javaexchange.com
Chuck
Similar Messages
-
How to use my connection pool in multiple servlets?
I now have a functioning connection pool using these lines in a servlet:
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
========================
If I want to create additional servlets in the same web app which query the same database,
do I need to repeat this block of code in every servlet, or can I just put it in one servlet
and have other servlets access it in some way to get a connection? Should I change the code
above from a "private" Connection to a "public" Connection?
An example servlet is shown below. To put my question another way: If I want to
create a second servlet with a different set of queries, would I just make a copy of the first
servlet and then change only the queries, or is there a more efficient way to have multiple
servlets get connections from the pool?
Any suggestions are greatly appreciated.
Thank you.
Logan
************************************servlet example**********************************
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.util.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.Date;
import java.text.*;
import javax.naming.*;
import javax.sql.DataSource;
public class CraigsMain extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
private Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
// Process the http Get request
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String sql = "select formtitle from checkboxforms where cbformid = 157";
// error occurs at this line
Connection ocon = getConnection("java:comp/env/jdbc/CraigsList");
PreparedStatement pStmt = ocon.prepareStatement(sql);
ResultSet rs1 = pStmt.executeQuery();
rs1.next();
out.println("<br>" + rs1.getString(1));
rs1.close();
pStmt.close();
ocon.close();
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
=======================================================================sjasja, Thank you for the reply. What you are suggesting is exactly what I have been looking for. But I'm pretty weak on how to make this separate con pool servlet work. My first attempt is shown below. It doesn't compile this line, which is obviously wrong:
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Could you please help me with this servlet code? Thanks.
package CraigsClasses;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.net.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
public class ConPoolInit extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
public static Connection getConnection(String lookup) throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup(lookup);
Connection ocon = ds.getConnection();
context.close();
return ocon;
} // private Connection getConnection(String lookup) throws NamingException, SQLException {
} catch(SQLException sqle) {
System.err.println("sql exception error: " + sqle);
} catch(NamingException ne) {
System.err.println("naming exception error: " + ne);
======================================= -
How to make Connection Pooling in JAVA
Dear Members
I want to know that how can i make connection pooling in java and also how can i use that pool in my jsp/servlet application.
Plz Describe in Detail.
Thanks
Vasimvasim_saiyad2000 wrote:
Dear Members
I want to know that how can i make connection pooling in java and also how can i use that pool in my jsp/servlet application.
Plz Describe in Detail.
Thanks
VasimAs the previous poster is trying to suggest, the server you use will have datasource and connection pooling support. so look up in the manual how to set it up, or do a google search. For example if you use Tomcat, look here:
http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html -
Long running reports using java servlets
Hello,
I'm running into a problem using java servlets to produce database reports and sending them back to the client browser as excel or html. The problem comes into play when the user has submitted two reports then goes to run a third and the browser hangs. I realized now that this is because of the two active connections that the user already has to the app server. Does anyone have any suggestions on how to get around this? I'm trying to now write the report to the server, and provide the browser with a url, but it seams as though the connection isn't totally closed even though I close the response printwriter.... Any suggestions would be greatly appreciated....Unfortunately I dont have an answer to your question, but:
If the reports are large/long running, should they be generated on demand? You could schedule the reports to be generated every day, month or whenever appropriate, stored on the server and then quickly pulled by the user whenever needed. -
XML Reading Using Java Servlet
I need some help in reading xml file using java servlet.
May i have some sample codes to read xml files?
I would really appreciate your help. Thanks!!!This grabs a url and parses it with a servlet.
URL befreeUrl = new URL(urlString);
uri = new URI(urlString);
URLConnection yc = befreeUrl.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
factory.setValidating(true);
out = new OutputStreamWriter(System.out, "UTF8");
DefaultHandler handler = new BeFreeRequestSAXParser(); /* custom handler class */;
parser.parse(uri.toString(), handler);
in.close(); -
Can't create connection pool using weblogic 6.1 with Oracle thin driver
Hi !
I have tried to create a connection pool from adminconsole. My CLASSPATH setting
is as follows :
F:\SOAP\soap-2_2\lib;F:\SOAP\soap-2_2;
D:\Oracle\Ora81\jdbc\lib\classes12.zip;
D:\Oracle\Ora81\jdbc\lib\nls_charset12.zip;
D:\Oracle\Ora81\jdbc\lib\classes111.zip;
F:\SOAP\soap-2_2\lib\jaf-1.0.1\activation.jar;
D:\Oracle\Ora8\Apache\Jsdk\src\javax\servlet\http;
D:\Oracle\Ora81\Apache\Jsdk\src\javax\servlet;
D:\Oracle\Ora81\lib;
F:\ant\jakarta-ant1.\bin;
E:\weblogic\oci\classes;
E:\weblogic\oci\classes\weblogic\xml\license;
E:\weblogic\oci\license;
E:\bea\wlserver6.1\lib;
E:\PetStoreHome\petstore1.3;
Following is the configuration.
#Oracle thin driver Method #2
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@test:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=1,\
props=user=xxx;password=xxx;server=test
#Add a TXDataSource for the connection pool:
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.thin=thin
# Add an ACL for the connection pool:
weblogic.allow.reserve.weblogic.jdbc.connectionPool.thin=everyone
I did append the file weblogic.properties with the above config. Now when I start
the Weblogic server I get the following error :
Starting WebLogic Server ....
<Nov 29, 2001 2:24:16 PM EST> <Notice> <Management> <Loading configuration file
.\config\petstore\config.xml ...>
<Nov 29, 2001 2:24:22 PM EST> <Notice> <WebLogicServer> <Starting WebLogic Admin
Server "petstoreServer" for domain "petstore">
<Nov 29, 2001 2:24:26 PM EST> <Notice> <Management> <Starting discovery of Manag
ed Server... This feature is on by default, you may turn this off by passing -Dw
eblogic.management.discover=false>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(jdbcthin.SignOnDB) can't be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(jdbcthin.EstoreDB) can't be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(jdbcthin.InventoryDB) can't be
cr
eated with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data Source creation:
weblogic.common.ResourceException: DataSource(weblogic.jdbc.jts.thin) can't be
created with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <Management> <Application Poller not star
ted for production server.>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After the server has booted, your browser should
automatically launch and point to the WebLogic Server
Tour running on this server. If your browser fails to
launch, point your browser to the URL
"http://burtsun:7001"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <ListenThread listening
on port 7001>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <SSLListenThread listeni
ng on port 7002>
<Nov 29, 2001 2:24:42 PM EST> <Notice> <WebLogicServer> <Started WebLogic Admin
Server "petstoreServer" for domain "petstore" running in Production Mode>
Could anyone please help me ?
Thanks
..MadhuriMadhuri wrote:
>
Hi Joe !
I didn't get what you would like to point out. Actully, I am using same config.,
but not to disclose the info. I gave you @test and username/password xxx/xxx.Ok. Now, assuming your pool looks like what I showed, the issue is probably
that there are multiple Oracle driver zips around, and your standlaone program
is using a different, newer, better one than the server. Our weblogic jar files
include a classes12.zip Oracle thin driver, but there are multiple versions of
classes12.zip, and the latest from oracle is better than the one we sealed into
our packaging. Please use jave -verbose to identify exactly which Oracle sip file
you are using in the successful case, then make sure this zip file comes before
any weblogic stuff in your weblogic server's classpath, so we'll use the same
driver. This should work. Edit the script you sue to start weblogic to verify
the classpath does end up with the oracle driver ahead of all weblogic stuff.
Joe
>
Please let me know.
Thanks
.Madhuri
Joseph Weinstein <[email protected]> wrote:
Madhuri wrote:
Hi Joe !
Here is the sample java code. Please let me know how I can test thisin weblogic
6.1.
Thanks
.MadhuriWell fine! That was easy. Your pool definition didn't have the same URL
or
user or password as this code. Try this for your pool definition:
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@adl-gbsdevel:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=10,\
maxCapacity=10,\
capacityIncrement=1,\
testConnsOnReserve=true,\
testTable=dual,\
props=user=mkelkar;password=mkelkar
Let me know,,,
Joe
Joseph Weinstein <[email protected]> wrote:
The key is in the log:
Could not create pool connection.
The DBMS driver exception was:
java.sql.SQLException: invalid arguments in call
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
Now we need to simplify the problem. Please make a simple 15-line
standalone
Java program like you'd find with the Oracle driver's examples, with
no
weblogic code in the picture. Just make a JDBC connection using Oracle's
driver, and show me that code. Then I can translate that into a pool
definition.
Joe
Madhuri wrote:
Hi Joe !
Thanks for your prompt reply. I tried the way you suggested but
it
still it gives
me the same error. I am attching here the weblogic.log file.
Thanks again
..Madhuri
Joseph Weinstein <[email protected]> wrote:
We'd want to see the log during booting, where the pool
is being created to see why that failed. Try a pool
definition with no blank lines, no whitespace at the
end of lines, and no server property. The thin driver
doesn't like that:
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@test:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=1,\
props=user=xxx;password=xxx
Joe
Madhuri wrote:
Hi !
I have tried to create a connection pool from adminconsole. My
CLASSPATH
setting
is as follows :
F:\SOAP\soap-2_2\lib;F:\SOAP\soap-2_2;
D:\Oracle\Ora81\jdbc\lib\classes12.zip;
D:\Oracle\Ora81\jdbc\lib\nls_charset12.zip;
D:\Oracle\Ora81\jdbc\lib\classes111.zip;
F:\SOAP\soap-2_2\lib\jaf-1.0.1\activation.jar;
D:\Oracle\Ora8\Apache\Jsdk\src\javax\servlet\http;
D:\Oracle\Ora81\Apache\Jsdk\src\javax\servlet;
D:\Oracle\Ora81\lib;
F:\ant\jakarta-ant1.\bin;
E:\weblogic\oci\classes;
E:\weblogic\oci\classes\weblogic\xml\license;
E:\weblogic\oci\license;
E:\bea\wlserver6.1\lib;
E:\PetStoreHome\petstore1.3;
Following is the configuration.
#Oracle thin driver Method #2
weblogic.jdbc.connectionPool.thin=\
url=jdbc:oracle:thin:@test:1521:PROJECT,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=4,\
maxCapacity=10,\
capacityIncrement=1,\
props=user=xxx;password=xxx;server=test
#Add a TXDataSource for the connection pool:
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.thin=thin
# Add an ACL for the connection pool:
weblogic.allow.reserve.weblogic.jdbc.connectionPool.thin=everyone
I did append the file weblogic.properties with the above config.
Now
when I start
the Weblogic server I get the following error :
Starting WebLogic Server ....
<Nov 29, 2001 2:24:16 PM EST> <Notice> <Management> <Loading
configuration
file
\config\petstore\config.xml ...>
<Nov 29, 2001 2:24:22 PM EST> <Notice> <WebLogicServer> <Starting
WebLogic
Admin
Server "petstoreServer" for domain "petstore">
<Nov 29, 2001 2:24:26 PM EST> <Notice> <Management> <Starting
discovery
of Manag
ed Server... This feature is on by default, you may turn this
off
by
passing -Dw
eblogic.management.discover=false>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(jdbcthin.SignOnDB)
can't
be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(jdbcthin.EstoreDB)
can't
be creat
ed with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(jdbcthin.InventoryDB)can't be
cr
eated with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:35 PM EST> <Error> <JDBC> <Error during Data
Source
creation:
weblogic.common.ResourceException: DataSource(weblogic.jdbc.jts.thin)can't be
created with non-existent Pool (connection or multi) (thin)>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <Management> <Application
Poller
not star
ted for production server.>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After the server has booted, your browser should
automatically launch and point to the WebLogic Server
Tour running on this server. If your browser fails to
launch, point your browser to the URL
"http://burtsun:7001"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <ListenThreadlistening
on port 7001>
<Nov 29, 2001 2:24:41 PM EST> <Notice> <WebLogicServer> <SSLListenThreadlisteni
ng on port 7002>
<Nov 29, 2001 2:24:42 PM EST> <Notice> <WebLogicServer> <Started
WebLogic
Admin
Server "petstoreServer" for domain "petstore" running in ProductionMode>
Could anyone please help me ?
Thanks
..Madhuri
Name: weblogic.log
weblogic.log Type: Text Document (application/x-unknown-content-type-txtfile)
Encoding: base64
Name: PrintColumns.java
PrintColumns.java Type: Visual Cafe File (application/x-unknown-content-type-VisualCafeFile.Document)
Encoding: base64 -
Creating a connection pool using SQL Server 2000, Sun ONE Application Serve
Has any one succesfully configured SQL Server 2000 to work with Sun ONE Application Server 7 on Windows 2000 server service pack 4? I am embarking on a new J2EE project and I need to configure it as soon as possible.
The problem I am having is that, when I ping the data souce name, there is a connection error.
I have set the data source name and other details as follows:
Under JDBC, I have set the parameters for the connection pool as follows:
Data Source Name: com.microsoft.jdbc.sqlserver.SQLServerDriver
Database Name: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Test
User: test
Password: test
In the JVM settings page, I have set the prefix class path as follows for the location of the Microsoft JDBC
drivers that I downloaded as follows:
c:\microsoft\drivers/lib/msbase.jar
c:\microsoft\drivers/lib/msutil.jar
c:\microsoft\drivers/lib/mssqlserver.jar
Under JVM Options, there is a strange setting which I don't understand: perhaps this is the cause of the
connction error?
-Djdbc.drivers=com.pointbase.jdbc.jdbcUniversalDriver
Please help????I'm in a similar boat...
Trying to setup AS7 JDBC and followed the instructions on the link you provided and get the following exception. I kept the case the same, thinking 'setpassword" was incorrect, so I tried changing the property to "Password", but get the same exception but it points to "setPassword" instead.
SEVERE: RAR5041:Cannot get jdbc connection
com.sun.enterprise.repository.J2EEResourceException
java.lang.NoSuchMethodException: setpassword
at com.sun.enterprise.repository.JdbcConnectionPool.createDataSource(JdbcConnectionPool.java:243)
at com.sun.enterprise.resource.JdbcUrlAllocator.createResource(JdbcUrlAllocator.java:80)
at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonSharedResourcePool.java:416)
at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResource(IASNonSharedResourcePool.java:625)
at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASNonSharedResourcePool.java:520)
at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:263)
at com.sun.enterprise.resource.JdbcXAConnection.<init>(JdbcXAConnection.java:74)
at com.sun.enterprise.resource.Jdbc10XaAllocator.createResource(Jdbc10XaAllocator.java:94)
at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonSharedResourcePool.java:416)
at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResource(IASNonSharedResourcePool.java:625)
at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASNonSharedResourcePool.java:520)
at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:263)
at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
at com.sun.enterprise.resource.JdbcDataSource.internalGetConnection(JdbcDataSource.java:241)
at com.sun.enterprise.resource.JdbcDataSource.getConnection(JdbcDataSource.java:98)
at com.rvi.database.jdbcConnection.getConnection(jdbcConnection.java:93)
at com.webapp.database.ArticlesDAO.selectByYear(ArticlesDAO.java:102)
at com.webapp.actions.ArticleAction.list(ArticleAction.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(StandardWrapperValve.java:720)
at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598) -
Error in creating Connection Pool using Oracle Thin Driver
Hi,
I am trying to create a connection pool in WS 5.1 with sp #6 using Oracle Thin Driver (oracle.jdbc.driver.OracleDriver) on a Sun box. But I am able to create the pool using weblogic.jdbc.oci.Driver. I get an DBMS Driver exception when I use thin driver. I have LD library path and weblogic class path set correctly. WL shows the following exception :
weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: Io exception: The Network Adapter could not establish the
connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
Any help on this is greatly appreciated.
Thanks,
RamuHi Ramu,
Please post your connection pool setting here. You might have missed some
port/server info. The driver is unable to connect to the db server here.
sree
"Ramu" <[email protected]> wrote in message
news:3d5bbc3a$[email protected]..
>
Yes. I am trying to create a connection pool in weblogic and I have theweblogic
class path setup correctly. It points to classes111.zip andnls_charset11.zip.
>
-Ramu
"Neo Gigs" <[email protected]> wrote:
Did you setup the JDBC library classpath correctly?
For me, e.g. Oracle 7.3.4, the classpath should be:
export CLASSPATH = /oracle7.3.4/jdbc/lib/classes.zip:%CLASSPATH%
Noted that the JDBC classpath must be the first classpath element in
the export
statement.
Neo -
How do I create a non-JTS sequence connection pool using JTS
I'm getting all kinds of errors (DB deadlocks and exceptions) using JTS with sequences. From reading several posts, it is necessary to create a separate non-JTS connection pool.
I've seen several postings on how to do this in the sessions.xml file, but how do I do this in Java code?
What I am trying is:
SequencingControl seqCtrl = ((oracle.toplink.publicinterface.DatabaseSession)serverSession).getSequencingControl();
seqCtrl.setShouldUseSeparateConnection(true);
seqCtrl.setLogin(sequenceLogin);
I've also tried:
serverSession.addConnectionPool("sequencing", sequenceLogin, 2,5);
but neither work. The problem with these settings is that the sequence properties on my DatabaseLogin are not honored.
My table name is T_SEQUENCES and my preAllocation size is 5. However the SQL that is generated by this setup is:
"UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + 50 WHERE SEQ_NAME = 'T_GROUPS_SEQ'"
I'm guessing these may be default values, but I don't know where else to override these except for on the DatabaseLogin I am passing in.
I know this setup works, because it is the same DatabaseLogin I use for non-JTS configuration.
Could someone provide me a code-snippet on how to do this?
Thanks,
NateI'm not using XML files, all of my setup is in code. I'm not sure how I would use the setLoginAndApplySequenceProperties(DatabaseLogin) call or if it would address my larger problem.
The main issue I don't want to lose here is, I've got an application where I'm trying to use JTS with JBoss and SQL Server. It's a SessionBean/POJO architecture. The problem I was having that started this thread is that sequence number allocation causes a database deadlock.
My thought was if I opened a 2nd connection pool dedicated to sequences, it might resolve the issue. I was able to do this with the workaround I posted, but it didn't fix anything. I now get a different error related to my newly inserted objects.
From working with this off-and-on over the last several months, I would say that I don't think TopLink/JBoss/SQL Server using JTA can be made to work.
I know that TopLink has a plug-in architecture and in theory if I implemented ExternalTransactionController and SynchronizationListener for JBoss correctly, it should all work.
But, I've got the JBoss 4.0.0 source that I can step through, I've got all the recent updates to SQL Server and the JDBC driver, and I'm following everything I've been told so far on how to make this all work.
It plain doesn't work.
Furthermore, I haven't found anyone (this group, JBoss group) that has gotten this to work (TopLink/JBoss/JTA). This is an important item to us, we'd like to get this to work, and we would be happy to work with Oracle Consulting on this or whatever it takes (already opened a TAR on this).
Are there any other support options available to making this work?
Nate -
How to monitor connection pools using wlsd
Hi
i need to monitor connectionpools , i dont know that much about wlsd, how can we configure wlsd to monitor connection pools.
Cheers
RaghuU can use a Simple Java Code for that: http://jaysensharma.wordpress.com/2010/02/19/jdbcconnectionpool-parameters-using-jmx/
In the above program you need to just change the following 4-lines:
int port = 7001; // AdminServer Port
String hostname = “localhost”; // AdminSewrver HostName
h.put(Context.SECURITY_PRINCIPAL, “weblogic”); // AdminUserName
h.put(Context.SECURITY_CREDENTIALS, “weblogic”); // Admin Paassword...
====================================
Using WLST if you want to do it then you need to edit the following Script a Bit : http://jaysensharma.wordpress.com/2010/03/23/testing-datasource-status-using-wlst/ -
Pooling PreparedStatement s- Connection Pooling in a Servlet-Applicatrion
We are using OC4J (Servlets) and Oracle9i.
In the application I use Connection Pooling with
datasource.xml.
It works fine.
Is it possible to create a pool of PreparedStatements and "connect" them with the connections in the pool?
Has anyone an idea how to do it or an example?
Thanks in advance
PeterIt's not necessarily "bad" as in "it won't work". I personally wouldn't do it because it's poor design. Now, if this is just a small, trivial app. then you have to decide if abstracting things more is worth it. It's not following best practices to put JDBC calls in your servlet. Your servlet should sit there and direct traffic to appropriate handlers, acting as a controller.
At a minimum I would put the JDBC stuff in its own class and have the servlet use that class.
Even if you keep your JDBC stuff in your servlet, you really should reuse a common set of DB connections instead of creating a new one each time. -
How to compile connection pool sample java code
I recently bought David Knox's "Effective Oracle Database 10g Security by Design", and have been working through his examples with client identifiers and how to leverage database security with anonymous connection pools.
The database side of things I totally understand and have set up, but I now want to compile/run the java code examples, but don't know what is required to compile this.
I'm running Oracle 10.2.0.4 (64-bit) Enterprise Edition on a Linux (RHEL 5) PC. Java version is 1.6.0_20. Relevant .bash_profile environment variables are as follows:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
When I try to compile, I get:
oracle:DB10204$ java FastConnect.java
Exception in thread "main" java.lang.NoClassDefFoundError: FastConnect/java
Caused by: java.lang.ClassNotFoundException: FastConnect.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: FastConnect.java. Program will exit.
The java source code of one of the examples is below. Is someone able to point me in the right direction as to how I get this to compile? Do I just have a syntax and/or environment configuration modification to do, or is there more to it than that to get this example working? Any help much appreciated.
oracle:DB10204$ cat FastConnect.java
package OSBD;
import java.sql.*;
import oracle.jdbc.pool.OracleDataSource;
public class FastConnect
public static void main(String[] args)
long connectTime=0, connectionStart=0, connectionStop=0;
long connectTime2=0, connectionStart2=0, connectionStop2=0;
ConnMgr cm = new ConnMgr();
// time first connection. This connection initializes pool.
connectionStart = System.currentTimeMillis();
Connection conn = cm.getConnection("SCOTT");
connectionStop = System.currentTimeMillis();
String query = "select ename, job, sal from person_view";
try {
// show security by querying from View
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery(query);
while (rset.next()) {
System.out.println("Name: " + rset.getString(1));
System.out.println("Job: " + rset.getString(2));
System.out.println("Salary: " + rset.getString(3));
stmt.close();
rset.close();
// close the connection which resets the database session
cm.closeConnection(conn);
// time subsequent connection as different user
connectionStart2 = System.currentTimeMillis();
conn = cm.getConnection("KING");
connectionStop2 = System.currentTimeMillis();
// ensure database can distinguish this new user
stmt = conn.createStatement();
rset = stmt.executeQuery(query);
while (rset.next()) {
System.out.println("Name: " + rset.getString(1));
System.out.println("Job: " + rset.getString(2));
System.out.println("Salary: " + rset.getString(3));
stmt.close();
rset.close();
cm.closeConnection(conn);
} catch (Exception e) { System.out.println(e.toString()); }
// print timing results
connectTime = (connectionStop - connectionStart);
System.out.println("Connection time for Pool: " + connectTime + " ms.");
connectTime2 = (connectionStop2 - connectionStart2);
System.out.println("Subsequent connection time: " +
connectTime2 + " ms.");
}Code download is at: http://www.mhprofessional.com/getpage.php?c=oraclepress_downloads.php&cat=4222
I'm looking at Chapter 6.stuartu wrote:
When I try to compile, I get:
oracle:DB10204$ java FastConnect.java
Exception in thread "main" java.lang.NoClassDefFoundError: FastConnect/java
Caused by: java.lang.ClassNotFoundException: FastConnect.java
I will try to explain what is happening here.
You are launching java telling it to run a class named 'java' in a package named 'FastConnect'
and java says it cannot find that class.
What you intended to do:
$ # make the directory structure match the package structure
$ mkdir OSBD
$ # move the source file in the directory structure so it matches the package structure
$ mv FastConnect.java OSBD/
$ # compile OSBD/FastConnect.java to OSBD/FastConnect.class
$ javac OSBD/FastConnect.java
$ # launch java using the OSBD/FastConnect class
$ java -cp . OSBD.FastConnectNote that the package 'OSBD' does not follow the recommended naming conventions
you might consider changing that to 'osbd'. -
Regarding connection pooling in java mail
Hi,
Im implementing enterprise application which has ability of sending/receiving emails. Im using java mail API 14.3. I have implemented the application level connection pooling which keep track of open folders, perform the time-out and other tasks. The connection pooling setting of IMAPStore is default setting. When we run our application in high load we get StoreClosedExcepton (Socket closed exception). My assumption is that when we perform some operation on folder, java mail also sends the noop command for store connection so there is no chance of store getting timeout.
Is there anything wrong in my understanding?JavaMail does not do anything to keep the connection "alive". Servers are free to close
connections that have been unused for too long (usually 30 minutes). If you need to
keep the connection alive, you'll need to do some operation periodically, such as checking
the number of messages in the folder. Even that doesn't guard against server or network
failures, of course, so you always have to be prepared for a StoreClosedException or
FolderClosedException. -
Connection Pooling in Java Application for interacting with Websphere MQ
I have following infrastruture at my site.
1> Machine #1 has below
- Websphere MQSeries 6.0 (client setup - Slim Client)
- OS = Windows 2003
- i/p address : 10.1.11.10
- Tomcat web server 5.5
- No Websphere Application Server.
2> Machine #2 has below
- Websphere MQSeries 6.0 (Server setup)
- OS = Windows 2003
- i/p address : 10.1.11.21
- Queue Manager Name : qMngr
- Queue Name (client will put the message) : toServerQ
- Queue Name (client will get the message) : fromServerQ
- I have developed the web application in Tomcat web server 5.5 using MQ base classes for accessing the Websphere MQ.
- Since it is web application there can be atleast 25 request at time.
i.e. when client#1 request data from queue he must get data related to client#1 only not other than client#1.
- For accessing the websphere MQ, I am using websphere MQ base classes in Client mode. (Not JMS)
==>>>> Source Code as follows
Class MQInterface (Servlet) is used for getting the web request from user and reply the response in html format.
public class MQInterface extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String Output = "";
System.out.println("!! Entered into Banking Servlet !!");
String requestParam = request.getParameter("OPRN_CODE");
if (requestParam.equalsIgnoreCase("GET_NAME_DETAIL")){
String id = request.getParameter("id");
Output = MQDataObject().getNameDetail(id);
return Output;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(Output);
Class MQDataObject is used for getting and putting data(message) into Websphere MQ.
public class MQDataObject {
private String hostname = "10.1.11.21";
private String channel = "Chnl1";
private String qManager = "qMngr1";
private MQQueueManager qMgr;
private ISISSSLAdaptor ssl;
private ISISConfigHelper ConfigHelper;
private String Output;
public MQDataObject(){
MQEnvironment.hostname = hostname;
MQEnvironment.channel = channel;
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);
MQEnvironment.sslCipherSuite = "SSL_RER_WERH_3KIUD_EQW_CRT_SSA";
try{
ssl = new DEMOSSLAdaptor("DEMOSSLAdaptor.config");
ConfigHelper = new ISISConfigHelper("MQConnection.config");
}catch(Exception exception){
System.out.println("Exception Details => " + exception);
public String getNameDetail(String sendMessage){
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);
String msgText = "";
try
// Create a connection to the Queue Manager.
qMgr = new MQQueueManager(qManager);
// Set up the options on the queue we wish to open
int openOutOptions = MQC.MQOO_OUTPUT;
// Specify the queue to open and open option
MQQueue sendingQueue = qMgr.accessQueue("toServerQ",openOutOptions,null,null,null);
// Define the MQ message and write some text in UTF format
MQMessage sendingMessage = new MQMessage();
sendingMessage.writeUTF(sendMessage);
// Specify the message options..
MQPutMessageOptions pmo = new MQPutMessageOptions();
// Put message on the queue
sendingQueue.put(sendingMessage,pmo);
// Close Sending Queue
sendingQueue.close();
// Receiving the message back
// Wait for 5 seconds to get reply from receiving queue
Thread.sleep(5000);
// Set up the options on receiving queue we wish to open
int openInOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;
MQQueue receivingQueue = qMgr.accessQueue("fromServerQ",openInOptions,null,null,null);
MQMessage receivingMessage = new MQMessage();
// Set and Get the message options
MQGetMessageOptions gmo = new MQGetMessageOptions();
// Receiving the message off the queue.
receivingQueue.get(receivingMessage,gmo);
// Get the message from the receiving queue.
msgText = receivingMessage.readStringOfByteLength(receivingMessage.getMessageLength());
// Close Receiving Queue
receivingQueue.close();
// Close a connection to the Queue Manager.
qMgr.disconnect();
// Parse the received message using parser.
String output = new IFXXMLParser().runExample(msgText);
catch (MQException mqex){
System.out.println("MQ Error : " + mqex);
catch (Exception ex){
System.out.println("General Error : " + ex);
return Output;
The message for sending the receiving is in XML format.
Could any one help me following in questions.
1> Since there is 30 request at time so for improve the performance and resources I need to do connection pooling.
How can I achieve this using base classes.
2> While retrieving (getting) the message for particular request how can I identify the response message.
i.e. when client#1 request data from queue he must get data related to client#1 only not other than client#1.
because In above scenario there are separate queues for getting the message and putting the message.
I have read the tutorial on connection pulling but I am little confused.
i.e. default connection pool and MQSimpleConnectionManager.
Thanking in Advance
SanjeevRahulSharna wrote:
Well my advice would be something different here..
Can you tell us whether the swing application that you are referring could be used by multiple client machines at the sametime ??
If yes my advice for you would be a costly affair yet effective.
Think of seperating your DAO layer from the swing client and you can make an attempt to make a centralized tier where DAO and business services are handled (also ensure that we you use connection pooling with a good tranaction support for building that tier).
Think of publishing those as services either by using remoting tehnologies like RMI,Burlap, Hessian or as a Webservice.
All you'd do is implementing respective client in the swing or client application which you are referring to..
(if you things are too wierd and what is the best solution to go about the below url offers a good solution
[http://tuscany.apache.org/]
And in doing this you'd ensure there is not toomuch load on the Database and you'd have a centralized location where you can start tracing the problem.My guess would be that since the OP said that they have a server that they do in fact have a server. -
Connection Pool using weblogic.jdbc.pool.Driver
I am trying to use connection pooling in my JSP data access classes (which
work fine without connection pooling) on weblogic 4.5.1. I tried using the
weblogic.jdbc.pool.Driver but it exits with the following exception:
java.lang.ClassNotFoundException: weblogic.jdbc.pool.Driver
The path c:\weblogic\classes which contains this driver is specified in the
weblogic.class.path . I can not include it in the java class path because
then weblogic server fails to start at all (with an error message). I would
appreciate any help !
Thanks,
UsamahHi. Please don't repost identical posts to different news groups. See a response
in the JDBC group. thanks, joe
Usamah Malik wrote:
I am trying to use connection pooling in my JSP data access classes (which
work fine without connection pooling) on weblogic 4.5.1. I tried using the
weblogic.jdbc.pool.Driver but it exits with the following exception:
java.lang.ClassNotFoundException: weblogic.jdbc.pool.Driver
The path c:\weblogic\classes which contains this driver is specified in the
weblogic.class.path . I can not include it in the java class path because
then weblogic server fails to start at all (with an error message). I would
appreciate any help !
Thanks,
Usamah--
PS: Hey folks, we're hiring Java engineers for our WebLogic
Engineering group in downtown S.F. Send me your resume.
The Weblogic Application Server from BEA
JavaWorld Editor's Choice Award: Best Web Application Server
Java Developer's Journal Editor's Choice Award: Best Web Application Server
Crossroads A-List Award: Rapid Application Development Tools for Java
Intelligent Enterprise RealWare: Best Application Using a Component Architecture
http://weblogic.beasys.com/press/awards/index.htm
Maybe you are looking for
-
Requisition Change History - not showing all records from CDHDR/CDPOS
Hello, When viewing the Item Changes for a requisition in ME53N, I don't always see all the records that are contained in tables CDHDR / CDPOS. The missing records are related to release strategies. Does anyone have any ideas why this happens? Thank
-
Values not pertaining indeciaml places
Hi , I have a problem in sales invoice , i have a written a logic to calculate 14 % excise duty for this year and 16 % excise duty for last year in print program , it is calculating correctly but it is not showing value in decimal palces , that
-
Which JDK/JRE is the best for 8i?
After seeing so many people having problems with 8i I would like to ask what version of JDK/JRE works best?? Thanks Lynx null
-
Hi All, i'm new to Maven.Can u tel me "How to call from one flex page to another Flex page when the user click on the button using Maven in Flex". I have two files one is Login.mxml and Todo.mxml .In Maven index.mxml file is there .If i include the l
-
hi All, I am Sorry to place my Requirement here, i am in in Urget need of a Salary Certificate Format, i Searched on Google but as our Google is Filtering at my Offc,opens after 5 pm any body has Salary Certificate Format ,Couldu please get it for me