struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Austin Lowry <austin.lo...@fedex.com>
Subject Re: Oracle Data Source Config
Date Tue, 11 Mar 2003 23:09:56 GMT
Thanks for your comments Marco.

Although this did not fix my problem, I think those having problems with 
Oracle connections might be helped by the following:

It appears that the Weblogic wrapper classes don't allow the Oracle 
driver extensions by default and you have to cast the connection object 
to a weblogic.jdbc.vendor.oracle.OracleConnection or the statment object 
to a weblogic.jdbc.vendor.oracle.OracleStatement which allows access to 
some of the extensions such as OracleStatement and OracleResultSet. See 
the following URL for Weblogic 6.1: 
http://edocs.bea.com/wls/docs61/jdbc/thirdparty.html#1043705**

Marco Tedone wrote:

>If this is the case, I would do one of the two: to change database or to
>change application server. As it seems to me that a connection pooling wors
>fine with Oracle, probally I would change the appserv, because a JNDI
>connection pooling should be portable across different JVM and I find
>difficult to think that Weblogic built some proprietary object around the
>database connection. In any case, binding the connection to the servlet
>context would lead to a high coupling between the web tier and the database
>tier with all the consequences you could imagine, the first, as you've
>already stated, would be to pass the connection from the Action to the
>business tier; as you'll probally know, the Action is part of the
>controller, therefore it should contain as few logic as possible and it
>should act as a sort of request dispatcher, requesting services to business
>components by means of messaging and preparing food for the forward action.
>As a solution, you could create a factory to call in order to receive a
>database connection; the Action shouldn't be aware of the Factory
>implementation, and it should call just a getConnection() method or, better,
>to call a business method on a business component which in turn would call
>the Factory to have the database connection object available. To store the
>database connection in the Servlet Context(even at this point I would use
>the DBCP from Jakarta) you can use a Struts PlugIn which is called at
>startup, but it requires only some configuration on the struts-config.xml
>file, leaving clean and tidy the web.xml file.
>
>My 2 cents.
>
>Marco
>
>  
>
>>-----Original Message-----
>>From: Austin Lowry [mailto:austin.lowry@fedex.com]
>>Sent: Tuesday, March 11, 2003 5:06 PM
>>To: Struts Users Mailing List
>>Subject: Re: Oracle Data Source Config
>>
>>
>>Apparently there is some portion of the Oracle connection that the
>>OracleXMLQuery class needs. To quote Oracle support: "Must 
>>use an Oracle 
>>connection pool and not the web logic pool. Because the XML 
>>API requires 
>>an Oracle conn object."
>>
>>My current approach is going to be to initialize an Oracle connection
>>pool that utilizes OracleConnectionCacheImpl from a servlet at server 
>>startup and placing it in the servlet context. (Thanks to Claude for 
>>your help here.) This introduces another problem in that I 
>>will have to 
>>pass the connection to my business objects from my action 
>>classes, but I 
>>think it will work. Any ideas are welcome. Thanks.
>>
>>~Austin
>>
>>Robert McIntosh wrote:
>>
>>    
>>
>>>I would venture to say that just about any generic
>>>      
>>>
>>connection pooling
>>    
>>
>>>library/implementation is going to wrap the underlying
>>>      
>>>
>>connection so
>>    
>>
>>>that the pool can do its job, as they generally override
>>>      
>>>
>>the close()
>>    
>>
>>>methods at the very least. Does the Oracle driver/connection have a
>>>specific method for executing the query? If it doesn't and 
>>>      
>>>
>>it uses the
>>    
>>
>>>basic executeQuery() type of methods on the JDBC statement,
>>>      
>>>
>>it would
>>    
>>
>>>seem that it would work, since connection pool wrappers are
>>>      
>>>
>>just going
>>    
>>
>>>to pass along the query to the underlying driver anyway,
>>>      
>>>
>>which would
>>    
>>
>>>be your oracle one. If you have to use a specific method
>>>      
>>>
>>though, you
>>    
>>
>>>might be out of luck.
>>>
>>>- Robert
>>>
>>>Austin Lowry wrote:
>>>
>>>      
>>>
>>>>Maybe I should clarify my question.
>>>>
>>>>The Weblogic connection pool works fine, the problem is that it 
>>>>returns a Weblogic connection object which is not suitable
>>>>        
>>>>
>>for use by
>>    
>>
>>>>OracleXMLQuery. I must have an Oracle connection object, such as
>>>>OracleConnectionPoolDataSource for OracleXMLQuery to 
>>>>        
>>>>
>>behave properly.
>>    
>>
>>>>My question is basicly, does anyone have a good way to implement
>>>>Oracle connection pooling with Struts?
>>>>
>>>>Thanks.
>>>>
>>>>
>>>>Marco Tedone wrote:
>>>>
>>>>        
>>>>
>>>>>If Weblogic release a connection pool under a jndi name,
>>>>>          
>>>>>
>>you can get
>>    
>>
>>>>>a connection from the pool. I've done it with Jboss.
>>>>>
>>>>> 
>>>>>
>>>>>          
>>>>>
>>>>>>-----Original Message-----
>>>>>>From: Austin Lowry [mailto:austin.lowry@fedex.com] Sent: Monday, 
>>>>>>March 10, 2003 4:09 PM
>>>>>>To: struts-user@jakarta.apache.org
>>>>>>Subject: Oracle Data Source Config
>>>>>>
>>>>>>
>>>>>>I've hit a bump in the road with my development because I have to

>>>>>>be able to use an Oracle connection in order to use a
>>>>>>            
>>>>>>
>>class vital
>>    
>>
>>>>>>to my application. This made my Weblogic connection pool
>>>>>>            
>>>>>>
>>unusable
>>    
>>
>>>>>>because it uses it's own connection objects that use the Oracle
>>>>>>driver. I think my best option at this point is to use 
>>>>>>            
>>>>>>
>>the Struts
>>    
>>
>>>>>><data-sources>. Does anyone have any experience with
>>>>>>            
>>>>>>
>>using Oracle
>>    
>>
>>>>>>and OracleConnectionPoolDataSource or OracleConnectionCacheImpl?
>>>>>>I'm not really sure how to set this up and make sure I 
>>>>>>            
>>>>>>
>>get back an
>>    
>>
>>>>>>Oracle connection object that I can use. Also, is there a better
>>>>>>way to implement the connection pool and still return an Oracle 
>>>>>>connection object than through Struts? Thanks for your help.
>>>>>>
>>>>>>
>>>>>>  
>>>>>>            
>>>>>>
>>>>>
>>>>>
>>>>>          
>>>>>
>>--------------------------------------------------------------------
>>    
>>
>>>>>-
>>>>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>>>For additional commands, e-mail:
>>>>>          
>>>>>
>>struts-user-help@jakarta.apache.org
>>    
>>
>>>>>
>>>>> 
>>>>>
>>>>>          
>>>>>
>>>>
>>>>        
>>>>
>>---------------------------------------------------------------------
>>    
>>
>>>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>>For additional commands, e-mail:
>>>>        
>>>>
>>struts-user-help@jakarta.apache.org
>>    
>>
>>>
>>>      
>>>
>>---------------------------------------------------------------------
>>    
>>
>>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>>For additional commands, e-mail: struts-user-help@jakarta.apache.org
>>>
>>>
>>>
>>>      
>>>
>>    
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Mime
View raw message