Strange behaviour when using connection pooling with proxy authentication
All
I have developed an ASP.NET 1.1 Web application that uses ODP.NET 9.2.0.4 accessing Oracle Database 8i (which is to be upgraded to 10g in the coming months). I have enabled connection pooling and implemented proxy authentication.
I am observing a strange behaviour in the live environment. If two users (User 1 and User 2) are executing SQL statements at the same time (concurrent threads in IIS), the following is occurring:
* User 1 opens a new connection, executes a SELECT statement, and closes this connection. The audit log, which uses the USER function, shows User 1 executed this statement.
* User 2 opens the same connection (before it is released to the connection pool?), excutes an INSERT statement, and closes this connection. The audit log shows User 1, not User 2, executed this statement.
Is this a known issue when using connection pooling with proxy authentication? I appreciate your help.
Regards,
Chris
Hi Chris,
I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
Cheers
Greg
Similar Messages
-
Queue with callback function - strange behaviour when using max_retries
Hi,
I hope someone can tell me what is wrong or can explain the following strange behaviour to me.
I am using one queue with a registered callback function. To test the behavoiur in case of an error I tested different settings, with or without explicit exception queue and with or without parameter max_retries.
Database Version is 11.2.0.2. Enterprise Edition
I enqueue 10 messages in a loop.
I define no exception queue and do not set max_retries
==> all messages stay in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 5
I define no exception queue and set max_retries = 4
==> 1 message stays in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 4
9 messages stay in the queuetable with q_name = nomal queue name and retry_count = 0
I define an exception queue and set max_retries = 4
==> 1 message is transfered to the Exception Queuetable with retry_count = 4
9 messages stay in the normal Queuetable and retry_count = 0
I define an exception queue and do not set max_retries
==> all 10 messages are transferred to the Exception Queuetable with retry_count = 5
I have no explanation for the behaviour in case 2 and case 3.
To create the queue and the callback I use this code (reduced to minimum):
begin
DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table => 'TESTUSER.TEST_TABELLE'
, Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
, sort_list => 'enq_time'
, multiple_consumers => FALSE
DBMS_AQADM.CREATE_QUEUE( queue_name => 'TESTUSER.TEST_QUEUE'
, queue_table => 'TESTUSER.TEST_TABELLE'
-- , max_retries => 4 uncomment this line to set max_retries
-- uncomment the following Block to use an explicit Exception Queue
/* DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table => 'TESTUSER.TEST_TABELLE_EXC'
, Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
, sort_list => 'enq_time'
, multiple_consumers => FALSE
DBMS_AQADM.CREATE_QUEUE( queue_name => 'TESTUSER.TEST_QUEUE_EXC'
, queue_table => 'TESTUSER.TEST_TABELLE_EXC'
, queue_type => dbms_aqadm.EXCEPTION_QUEUE);
DBMS_AQADM.START_QUEUE('TESTUSER.TEST_QUEUE');
end;
create or replace procedure test_procedure
(context RAW
,reginfo sys.AQ$_reg_info
,descr sys.AQ$_descriptor
,payload VARCHAR2
,payloadl NUMBER
) authid definer
IS
-- für Queue
dequeue_options DBMS_AQ.dequeue_options_t;
message_prop DBMS_AQ.message_properties_t;
message_hdl raw(16);
message sys.aq$_jms_text_message;
l_daten VARCHAR2(32767);
ex_hugo EXCEPTION;
BEGIN
dequeue_options.msgid := descr.msg_id;
dequeue_options.consumer_name := descr.consumer_name;
dbms_aq.dequeue(descr.queue_name, dequeue_options, message_prop, message, message_hdl);
-- to provoke an error
RAISE ex_hugo;
-- regurlar coding
commit;
exception
when others then
rollback;
RAISE;
end;
DECLARE
reginfo1 sys.aq$_reg_info;
reginfolist sys.aq$_reg_info_list;
BEGIN
reginfo1 := sys.aq$_reg_info('TESTUSER.TEST_QUEUE', DBMS_AQ.NAMESPACE_AQ, 'plsql://TESTUSER.TEST_PROCEDURE?PR=0',HEXTORAW('FF'));
reginfolist := sys.aq$_reg_info_list(reginfo1);
sys.dbms_aq.register(reginfolist, 1);
commit;
END;
to enqueue my messages i use:
DECLARE
message sys.aq$_jms_text_message;
enqueue_options dbms_aq.enqueue_options_t;
message_properties dbms_aq.message_properties_t;
msgid raw(16);
v_daten clob;
BEGIN
message := sys.aq$_jms_text_message.construct;
for i in 1..10
loop
v_daten := '{ dummy_text }';
message.set_text(v_daten);
-- uncomment the following line to use an explicit Exception Queue
-- message_properties.exception_queue := 'TESTUSER.TEST_QUEUE_EXC';
dbms_aq.enqueue(queue_name => 'TESTUSER.TEST_QUEUE',
enqueue_options => enqueue_options,
message_properties => message_properties,
payload => message,
msgid => msgid);
message.clear_properties();
end loop;
commit;
END;Hi Chris,
I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
Cheers
Greg -
How To Use Connection pooling with j2sdkee1.3?
hi!
How to use javax.sql.ConnectionPoolDataSource and
javax.sql.PooledConnection with j2sdkee1.3.?
In j2ee1.3's deployment tool,
to specify the resource factories,
javax.sql.ConnectionPoolDataSource is not available.
Please Help me to use Connection pooling.
Dhaya.Vendor implementations usually have a fair amount of optimization. For J2EE apps, my concern would be using your pool in transactional calls. When you make a transactional call across several beans/methods, the vendor's pool makes sure that you get the same connection each time you get a connection from the pool so that if you want to rollback the work (in case an error occurs), you can. Does your current connection pool support this?
-
Problem when getting resultset when using connection pooling in weblogic
Hello,
I am new to database connection pooling. I am using weblogic server, Java 1.6, MySql database. I have done connection pooling in weblogic server. The problem arise when I try to run select query I cannot fetch data in ResultSet. For insert it works fine...
import java.io.Serializable;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class DatabaseToText implements Serializable {
public DatabaseToText() {
super();
// TODO Auto-generated constructor stub
public static void main(String[] args) {
Connection conn;
Statement stmt;
ResultSet rs;
String str1, str2;
List l1 = new ArrayList();
try {
System.out.println("in try block");
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
prop.put(Context.PROVIDER_URL, "t3://localhost:7001");
System.out.println("properties are set ");
Context ctx = new InitialContext(prop);
System.out.println("b4 lookup(mysqljndi)");
Object obj = ctx.lookup("mysqljndi"); // java:comp/env/CPDS
System.out.println("afta lookup(mysqljndi)");
DataSource ds = (DataSource) obj;
conn = ds.getConnection();
stmt = conn.createStatement();
String query = "select * from logindb.userregister";
System.out.println("query is = " + query);
rs = stmt.executeQuery(query);
System.out.println("size of rs is :: " + rs.getFetchSize());
if (rs != null) {
while (rs.next()) {
str1 = rs.getString(0);
str2 = rs.getString(1);
System.out.println("username is :: " + str1 + "password is : " + str2);
} else {
System.out.println("no values get fetched");
ctx.close();
} catch (Exception e) {
e.printStackTrace();
OUTPUT IN CONSOLE
in try block
properties are set
b4 lookup(mysqljndi)
afta lookup(mysqljndi)
query is = select * from logindb.userregister
size of rs is :: 0
java.sql.SQLException: weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception - with nested exception:
[java.rmi.MarshalException: error marshalling return; nested exception is:
java.io.NotSerializableException: com.mysql.jdbc.ResultSet]
at weblogic.jdbc.rmi.SerialResultSet.next(SerialResultSet.java:89)
at DatabaseToText.main(DatabaseToText.java:69)
Record is getting inserted but when i use select query i cannot get the output...
Regards,This problem is solved in JDBC section of this forum
-
How to use connection pool with RDBMSRealm
I am having a problem with the RDBMSRealm. The problem is that the connection defined in the .realm_properties file times out after 1 hour. My solution was to use the connection pool defined in the weblogic.properties file, but the realm_proprties are read before the connection pool is created so it did'nt work.Is there anyway of controling the order of which WLS reads various properties?If no, is there any way of setting "autorefresh" on the connection defined in the .realm_properties file?I'am using WLS 5.1, S.P 8, WIN2000 and Sybase. It works fine except for the timeout.Please help-Marius
I've been struggling to find a way to use a weblogic connection
pool or datasource nicely, and have failed with whatever I've tried.
There is a chicken and egg problem here. The connection pool needs
security to initialize itself, and security needs a connection
pool. So that will not work.
I've tried the follwing, which almost worked. Weblogic falls
back to the default realm if your custom realm returns null for
any user or group requests. So if your custom realm is not capable
of reading info from the database, return null. The default realm
will take over, and allow the connection pool to initialize if
you allow everybody (or users defined in the weblogic.properties
file) access to the pool. Then define a datasource which points
to the pool.
After the server starts, security can then use JNDI to look up
the datasource, and all seems well. However, in some instances
(it seems like calls for a bean), where security and jndi can get
into infinite loops where jndi performs a security check when doing
the lookup, so they both end up asking each other for information.
So if anyone knows how to successfully use a connection pool or
DataSource in a custom realm, I would love to know how.
For you, I would suggest you don't try and use a connection pool,
but figure out how to refresh your connection. You can do it manually
by taking your connection, checking if it's valid before using
it, if not, then open a new one.
-d-
Marius <[email protected]> wrote:
I am having a problem with the RDBMSRealm. The problem
is that the connection defined in the .realm_properties
file times out after 1 hour. My solution was to use the
connection pool defined in the weblogic.properties file,
but the realm_proprties are read before the connection
pool is created so it did'nt work.Is there anyway of
controling the order of which WLS reads various properties?If
no, is there any way of setting "autorefresh" on the
connection defined in the .realm_properties file?I'am
using WLS 5.1, S.P 8, WIN2000 and Sybase. It works fine
except for the timeout.Please help-Marius -
How to use insert row with BLOB to Oracle when use connection pool?
Hi, All,
I am writing a program to store files (mapped to be a column with BLOB datatype
in the table) to Oracle database.
But I always get java.lang.ClassCastException:weblogic.jdbc.rmi.SerialBlob
Here is my code, please help. Thanks a lot!!
String sqlNewRow = "insert into documents (id, companyid, updatedate, description,
document, addby, title) ";
sqlNewRow += "values (?, ?, TO_DATE(?, 'MM/DD/YY'), ?, EMPTY_BLOB(), ?,
con.setAutoCommit(false);
ps = con.prepareStatement(sqlNewRow);
ps.setInt(1, documentid);
ps.setInt(2, companyid);
ps.setString(3, updatedate);
ps.setString(4, description);
ps.setString(5, username);
ps.setString(6, filename);
ps.executeUpdate();
ps.close();
String sqlLockRow = "select document from documents where id = ? for update";
java.sql.PreparedStatement pst = con.prepareStatement(sqlLockRow);
pst.setInt(1, documentid);
java.sql.ResultSet rset = pst.executeQuery();
rset.next();
java.sql.Blob dbBlob = rset.getBlob(1);
out.println("it's=" + dbBlob.getClass());
OutputStream dbBlobOut = ((weblogic.jdbc.vendor.oracle.OracleThinBlob)dbBlob).getBinaryOutputStream();
dbBlobOut.write(oneString.getBytes());
dbBlobOut.close();
rset.close();
pst.close();Have you defined
OutputStream dbBlobOut
as weblogic.jdbc.vendor.oralce.OracleThinBlob?
Mitesh
Almond wrote:
Hi, All,
I am writing a program to store files (mapped to be a column with BLOB datatype
in the table) to Oracle database.
But I always get java.lang.ClassCastException:weblogic.jdbc.rmi.SerialBlob
Here is my code, please help. Thanks a lot!!
String sqlNewRow = "insert into documents (id, companyid, updatedate, description,
document, addby, title) ";
sqlNewRow += "values (?, ?, TO_DATE(?, 'MM/DD/YY'), ?, EMPTY_BLOB(), ?,
con.setAutoCommit(false);
ps = con.prepareStatement(sqlNewRow);
ps.setInt(1, documentid);
ps.setInt(2, companyid);
ps.setString(3, updatedate);
ps.setString(4, description);
ps.setString(5, username);
ps.setString(6, filename);
ps.executeUpdate();
ps.close();
String sqlLockRow = "select document from documents where id = ? for update";
java.sql.PreparedStatement pst = con.prepareStatement(sqlLockRow);
pst.setInt(1, documentid);
java.sql.ResultSet rset = pst.executeQuery();
rset.next();
java.sql.Blob dbBlob = rset.getBlob(1);
out.println("it's=" + dbBlob.getClass());
OutputStream dbBlobOut = ((weblogic.jdbc.vendor.oracle.OracleThinBlob)dbBlob).getBinaryOutputStream();
dbBlobOut.write(oneString.getBytes());
dbBlobOut.close();
rset.close();
pst.close(); -
Strange behavior when using servlet filter with simple index.htm
I am new to J2EE development so please tolerate my ignorance. I have a web application that starts with a simple index.htm file. I am using a servlet filter throughout the website to check for session timeout, redirecting the user to a session expiration page if the session has timed out. When I do something as simple as loading the index.htm page in the browser, the .css file and one image file that are associated, or referenced in the file are somehow corrupted and not being rendered. How do I get the filter to ignore css and image files??? Thank you!!
The servlet filter:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SessionTimeoutFilter implements Filter {
String[] excludedPages = {"SessionExpired.jsp","index.htm","index.jsp"};
String timeoutPage = "SessionExpired.jsp";
public void destroy() {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse)) {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
//httpServletResponse.setHeader("Cache-Control","no-cache");
//httpServletResponse.setHeader("Pragma","no-cache");
//httpServletResponse.setDateHeader ("Expires", 0);
String requestPath = httpServletRequest.getRequestURI();
boolean sessionInvalid = httpServletRequest.getSession().getAttribute("loginFlag") != "loggedIn";
System.out.println(sessionInvalid);
boolean requestExcluded = false;
System.out.println(requestExcluded);
for (int i=0;i<excludedPages.length;i++){
if(requestPath.contains(excludedPages)){
requestExcluded = true;
if (sessionInvalid && !requestExcluded){
System.out.println("redirecting");
httpServletResponse.sendRedirect(timeoutPage);
// pass the request along the filter chain
chain.doFilter(request, response);
public void init(FilterConfig arg0) throws ServletException {
//System.out.println(arg0.getInitParameter("test-param"));
The index.htm file (or the relevant portion)<HTML>
<Head>
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="RTEStyleSheet.css" rel="stylesheet" type="text/css">
<TITLE>Login</TITLE>
</HEAD>
<BODY>
<FORM NAME="Login" METHOD="POST" ACTION="rte.ServletLDAP"><!-- Branding information -->
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="30%" align="left"><img src="images/top_logo_new2.gif">
</td>
<td width="37%" align="center"></td>
<td width="33%" align="right"></td>
</tr>
</table>
My web.xml entry for the filter: <filter>
<description>
Checks for a session timeout on each user request, redirects to logout if the session has expired.</description>
<display-name>
SessionTimeoutFilter</display-name>
<filter-name>SessionTimeoutFilter</filter-name>
<filter-class>SessionTimeoutFilter</filter-class>
<init-param>
<param-name>test-param</param-name>
<param-value>this is a test parameter</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SessionTimeoutFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>Hi,
Try adding CSS files and images to the excluded Pages. -
Very strange bug when using a view with a date
Hi,
Just thought I'd point out this bug I'd found and see if anybody has had similar problems.
I'm connecting to Oracle 9i from servlets using the thin client-side JDBC driver. In the Oracle schema I've got a few views to another schema set up. One of them looks like this:
select
blah
blah
from
projects
where
project_start_date between '1-Apr-2000' and '31-Mar-2010'
Nothing wrong with this, you'd think. And indeed, the view works fine and any valid queries on the view also work fine if they're performed from anywhere apart from my servlets. The servlets can perform queries on all my other views but they think that this particular view is completely empty.
As soon as I change the view to:
project_start_date > '1-Apr-2000'
the servlets can see the data in the view.
Hope all this made sense. Anybody else had any similar problems?
Chris.Any time you want to do a date comparison, you really want to do an explicit to_date conversion rather than relying on Oracle to do it implicitly. I'll wager that if you change the view to
SELECT <columnList>
FROM projects
WHERE project_start_date BETWEEN to_date('1-Apr-2000', 'DD-MON-YYYY') and to_date('31-Mar-2010', 'DD-MON-YYYY')that everything will work.
Justin -
JClient - Strange Behaviour when using multiple-row-selection
Hi!
In my application a problem occures whenever I want to select multple rows in a JTable...
I am using a JTable bound to a ViewObject which displays quite a lot of rows. For further processing I need to select more than one row. So I changed the code the following way:
table.setModel(JUTableBinding.createAttributeListBinding(panelBinding, table, "SomeView", null, "SomeViewIter", new String[] {"FirstAttribute", "SecondAttribute"}));
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
Basically there are 2 problems:
Whenever I want to select several rows or intervals by dragging the mouse or by using cursers, older selections disappear.
When I select rows and then use the scrollbar, all selections but one disappear.
Is there something wrong in my implementation or is this another bug? That's one of those little things, that make life of developers and end-users hard.
Any suggestions? Thanks a lot!Hi!
In my application a problem occures whenever I want to select multple rows in a JTable...
I am using a JTable bound to a ViewObject which displays quite a lot of rows. For further processing I need to select more than one row. So I changed the code the following way:
table.setModel(JUTableBinding.createAttributeListBinding(panelBinding, table, "SomeView", null, "SomeViewIter", new String[] {"FirstAttribute", "SecondAttribute"}));
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);JUTableBinding only works with Single-selection model as it needs to track currency based on the current selection.
You'd have to implement a custom Table-model that wraps the built-in table model (quite like what's done in the 'table sorting example' at
http://otn.oracle.com/sample_code/products/jdev/jclient/jclient_table_sorting_sample.html
Then you may implement multiple selection and fake single selection model (last selected row perhaps) to the JUTableBinding's tableModel.
Basically there are 2 problems:
Whenever I want to select several rows or intervals by dragging the mouse or by using cursers, older selections disappear.
When I select rows and then use the scrollbar, all selections but one disappear.
Is there something wrong in my implementation or is this another bug? That's one of those little things, that make life of developers and end-users hard.
Any suggestions? Thanks a lot! -
Strange behaviour when using a custom errorpage
When I create a standard JHeadstart application using the "HR" schema, add a custom error-page and force an error on a jspx page, the following happens:
1. Force error on page (via an incorrect commandlink)
2. Get custom error page correctly
3. Restart the original page
4. Again force the error on the page
5. In the browser "Recursive error in error-page calling for /faces/pages/CXSError.jspx, see the application log for details." is displayed.
What is going on?
Extra information:
The first time the error is forced, this is logged (just after the stacktrace in the log window):
08-apr 12:04:45 DEBUG (JhsPageLifecycle) -Executing prepareRender, page=/pages/CXSError.jspx, pagedef=null
The second time the error is forced, this is logged:
08-apr 12:04:50 DEBUG (JhsPageLifecycle) -Executing prepareRender, page=/pages/DepartmentsVw1Table.jspx, pagedef=null
Environment:
JDeveloper 10.1.3.3.0.4157
JHeadstart 10.1.3.2.51
Regards,
Remco Moolenaar.
Connexys.
This is the constructed error on a standard JHeadstart jspx page:
<af:commandLink action="DeepLinkFile" id="testlink"
immediate="true" partialSubmit="false"
text="LINK">
<af:setActionListener from="1"
to="#{context.setting.vacId}"/>
</af:commandLink>
This is the error page:
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
xmlns:f="http://java.sun.com/jsf/core">
<jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
doctype-system="http://www.w3.org/TR/html4/loose.dtd"
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
<jsp:directive.page contentType="text/html;charset=UTF-8" isErrorPage="true"
import="java.io.CharArrayWriter, java.io.PrintWriter, java.util.Calendar, java.text.SimpleDateFormat, javax.faces.context.FacesContext"/>
<f:subview id="errorpageview">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error</title>
</head>
<body>
Stacktrace:
<pre>
<jsp:scriptlet>
try {
if (exception != null)
CharArrayWriter charArrayWriter = new CharArrayWriter();
PrintWriter printWriter = new PrintWriter(charArrayWriter, true);
exception.printStackTrace(printWriter);
printWriter.flush();
out.println(charArrayWriter.toString());
} catch (Exception e) {
</jsp:scriptlet>
</pre>
</body>
</html>
</f:subview>
<jsp:scriptlet>
if (exception != null) {
try {
session.invalidate();
FacesContext ctx = FacesContext.getCurrentInstance();
ctx.responseComplete();
} catch (Exception e) {
</jsp:scriptlet>
</jsp:root>
This is web.xml:
<?xml version = '1.0' encoding = 'UTF-8'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml,/WEB-INF/JhsCommon-beans.xml,/WEB-INF/HRDemoService-Breadcrumb-beans.xml,/WEB-INF/DepartmentsVw1-beans.xml</param-value>
</context-param>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>viewcontroller.DataBindings</param-value>
</context-param>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jspx</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<servlet-name>ordDeliverMedia</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>ordDeliverMedia</servlet-name>
<servlet-class>oracle.jheadstart.ord.html.OrdPlayMediaServlet</servlet-class>
<init-param>
<param-name>releaseMode</param-name>
<param-value>Stateful</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ordDeliverMedia</servlet-name>
<url-pattern>ordDeliverMedia</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>35</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/faces/pages/CXSError.jspx</location>
</error-page>
</web-app>This was an application module pooling, activation / passivation issue.
After view objects had been set-up correctly, the problem disappeared. -
Strange behaviour when using ReadOnly VO on view over DBlink
I have a very simple situation which Jdeveloper 10.1.3 cannot handle.
I have user_1 who is owner of table_1 in database_1.
I have user_2 who created and owns view table_1 in database_2. User_2 owns view table_1 which is defined as select * from table table_1@database_1.
Now in database_2 i connect as user_2. After doing select * from view table_1 i can see all data in this view
Now in Jdeveloper I have a readonly viewobject; select * from view table_1 (connect = user_2@database2) . The SQL statement is valid (Test). When testing the ApplModule I can see the data in view table_1.
When I drag and drop the datacontrol on my JSP and run the JSP I get an ORA-00942 "table or view does not exist".
What is happening here ?????
Please try to reproduce this (should be easy) and help me.
Thanks Luc BorsO boy
Was I tired........ Got it working after a good night sleep. I had a cross reference concerning different DB connections in my ADF application.....
Thanks -
IO Exception Broken Pipe ORA-17002 while using connection pooling
Hi
We are experiencing "broken pipe ORA-17002 error" when using connection pooling. This seems to be a common error when implementing connection pooling, but I didn't find any solution anywhere.
we are using Oracle 9i 9.2.0.1 JDBC thin driver
Our database is Oracle 8.1.7 running on HP Unix
The middle tier(Tomcat) runs on RedHat linux server
We are using JDK1.3
It seems the connections automatically get stale or bad after certain period of time.Iam checking to see if the connection is closed, before giving the connection from the pool to the appilcation.It seems its still open.But when I start using the connection to open a callable statement or setAutocommit to false, it says Broken pipe or No more data to read from the socket.
We are implementing our own connection pooling class(we experimented with OracleConnectionCacheImpl but it too gave the same errors).
Does anybody have a solution for this problem??
Is there a workaround for this?I would like to know how connection pooling is implemented in most of the applications that use oracle database?Or do we need to explicitly test the connection before using it, and reopen a connection if that is bad??
Thanks
Anilkalle
Thank you very much for your advice!!!
Like you said, I started to check whether the connections are fine before giving them from the pool.I am executing a simple "select 'anil' from dual" and if its fine only then I return the connection. So far it seems to be fine. Also I am reopening the connections(closing the old ones and opening new connections) after every 12 hours.
As far as the JDBC driver is concerned, I already tried with Oracle 8i driver, it gave the same problems. I read that 9i driver might solve this problem, so I changed to the latest 9i driver (classes12_g.zip).
Sometimes before(before I started checking whether the connection is good )the application used to hang up at the point where I am issuing setAutoCommit(false).It never comes out from that statement.Is this something to do with theconnections being closed?
What I am afraid is, will the appilation get hung up even after I check the connection with select query and then issue autocommit(false)??
Or will it hang up while I check with a select query??
As long as it doesn't hung up, I am fine. Because i am cathching the exceptions.
Thanks In ADVANCE
Anil -
Problem using connection pooling on netbeans with mysql
Hi everyone,
I use Apache Tomcat server 5.0 and Mysql as back end. I have done connection pooling in tomcat server installation folder and everything works fine.But when I tried the same on netbeans I could not connect using connection pooling and it's throwing error as
'Name jdbc is not bound in this Context'.
When I checked the tomcat server in netbeans it says a version of tomcat 5.5.9(May be netbean's tomcat).So is there anything to be changed for server.xml of higher version tomcat above 5.0?
I need your help to solve this issue.
thanks in advance
-JeganHi everyone,
I use Apache Tomcat server 5.0 and Mysql as back end. I have done connection pooling in tomcat server installation folder and everything works fine.But when I tried the same on netbeans I could not connect using connection pooling and it's throwing error as
'Name jdbc is not bound in this Context'.
When I checked the tomcat server in netbeans it says a version of tomcat 5.5.9(May be netbean's tomcat).So is there anything to be changed for server.xml of higher version tomcat above 5.0?
I need your help to solve this issue.
thanks in advance
-Jegan -
Using Connection Pooling in a WLS 5.1.x - Cluster
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 for CP?
I have a WLS-Cluster with 2 instances and my webApp uses connection pooling.
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-instance will
be lost.
How do I have to configure my cluster to work well with that stuff ?
Thank a lot,
Markus.
Clustering with connection pools works fine in WLS 5.1. If connections are
not being release, you have bugs in your code.
When a connection is retrieved from a pool on one instance, a corresponding
connection is NOT retrieved on another instance.
Mike
"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 for
CP?
>
> I have a WLS-Cluster with 2 instances and my webApp uses connection
pooling.
> 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-instance
will
> be lost.
> How do I have to configure my cluster to work well with that stuff ?
>
> Thank a lot,
>
> Markus.
>
>
>
-
How to use connection pool of datasource to make applications run faster?
Hi, erveryone
I prepare to implement a servlet that access database and do sync with client.
When I access database, I would like to configure a datasource in weblogic and use connection pool.
In order to make servlet application run significantly faster, my servet how to use connection poo is much moreresonable?
For example, my servlet has many times database access. Is it true that geting and close a connection whenever
one time database access finished?
If from the servlet begins, the db connection is hold till servlet finalize. Will the solution affect the servlet performance? Is there any official document to introduce connection pool program? I search some documents.
<The Java EE 6Tutorial> introduce some simple intruduction about connection pool.1. Use WebLogic Servers Data Source for Database Connections.
2. Open and close the connections where you need it. Dont open it in begin and close in finalise. That is bad practice.
3. Even when you invoke Connection.close () webLogic will not close the connection. it will commit the transaction and return it back to the pool rather than physically closing the DB connection.
4. You can tune data source for minimum, maximum and increments of connections that you need based on your application requirement.
Maybe you are looking for
-
Mail Account sync from mac to iPhone
i cant sync my mail accounts from my mac to my iphone 4! the register "info" isnt there in iTunes. so i have to type all the settings on the iphone again. with mountain lion it was really easy to sync my mail accounts. why is this function not includ
-
Hi Experts, Could you please advice How can we Split the VAT amount in Purchase Order Our requirement is total PO amount with 60,000.. Please advice how can we resolve the issue. Thanks in advance... Diggi
-
How to get the key value of a HashMap?
Hi, I have a HashMap which obviously has key/value pairs. e.g. 1=3, 2=6 etc. I can get the value by using the method xxx.get(key), but I want to be able to get the value of the key. For example, when I have the value 3 I want to be able to get the va
-
Automatic creation of Purchase Order from Sales Order
Hi, please is it possible to know the use of flag "Create PO automatically" into Sales Order Item Category customizing setting? Perhaps automatic creation of PO for Third Party sales process. Thank you very much Kind Reards Andrea
-
SCS instance in AS (ABAP+JAVA) / AS JAVA system
Hello, Can somebody pl. tell me what is function of SCS instance in NW04s. It contains message and enqeue services But another instance also has message and enqueue services for the same istance. Thanks in advance. Regards, Tushar Chavan