|
From: <jue...@we...> - 2004-06-01 06:20:34
|
If you can make sure that it works on Weblogic 8.1 at least, I'd suggest =
to put it into the main codebase right away. There's not much than can =
break other than compatibility with other Weblogic versions (which we =
don't claim with this version).
=20
Gonna be offline for a couple of hours now, as I have an external =
workshop today. Will - finally! - create the actual release tonight, if =
there are no further critical issues ahead...
=20
Juergen
=20
________________________________
Von: spr...@li... im Auftrag =
von Thomas Risberg
Gesendet: Di 01.06.2004 05:20
An: spr...@li...
Betreff: Re: [Springframework-developer] OracleLobCreator
Bronwen,
This was a good exercise. Thanks for your help tracking things down. I
have added a WebLogicNativeJdbcExtractor that uses reflection. We
probably should test this in WLS 6.1 and 7.0 as well.
Juergen - do you want to wait for 1.0.3 so we have more time to test and
refine it. It's in the sandbox for now.
Thomas
Bronwen Cassidy wrote:
>The last message, I got it :-) now I just want to laugh.. the method to =
get
>the native driver is:
>
>// con is cast to weblogic.jdbc.wrapper.PoolConnection, this returns =
the
>oracle.jdbc.OracleConnection and from there it all works, now to figure =
out
>all the others :-)
>public Connection getNativeConnection(Connection con) throws =
SQLException {
> PoolConnection pConnection =3D (PoolConnection) con;
> return pConnection.getVendorConnection();
> }
>
>I am happy to send this to you, problem would be it would need =
weblogic.jar
>:-( as it is specific cast, unless I used reflection, let me know what =
you
>would like, send it, use reflection etc etc.
>
>And a million thanx for all your help
>All the best to spring
>Bronwen
>
>-----Original Message-----
>From: spr...@li...
>[mailto:spr...@li...] On =
Behalf Of
>j=FCrgen h=F6ller [werk3AT]
>Sent: 31 May 2004 23:39
>To: spr...@li...
>Subject: Re: [Springframework-developer] OracleLobCreator
>
>OK, seems like Weblogic's pool is among the ones that completely wrap =
all
>JDBC objects: You don't even get the native Connection on
>getMetaData().getConnection()...
>
>So I'm afraid you'll have to write a WeblogicNativeJdbcExtractor that =
knows
>how to unwrap weblogic.jdbc.wrapper.PoolConnection. Check the latter's
>signatures: Does it have a method like "getPhysicalConnection()"? Such =
a
>method would be that basis for implementing getNativeConnection.
>
>Juergen
>
>
>________________________________
>
>Von: spr...@li... im Auftrag =
von
>Bronwen Cassidy
>Gesendet: Di 01.06.2004 01:20
>An: spr...@li...
>Betreff: RE: [Springframework-developer] re: OracleLobCreator
>
>
>
>Hi,
>If I understand your question, OracleLobHandler works in a test case =
without
>weblogics pool, only using the oracle.jdbc.pool.OracleDataSource =
datasource
>bean defined as:
><bean id=3D"dataSource" class=3D"oracle.jdbc.pool.OracleDataSource">
> <property
>name=3D"driverType"><value>oracle.jdbc.OracleDriver</value></property>
> <property
>name=3D"URL"><value>jdbc:oracle:thin:@localhost:1521:ROBIN</value></prop=
erty>
> <property =
name=3D"user"><value>talentstudio</value></property>
> <property
>name=3D"password"><value>talentstudio</value></property>
> </bean>
>In deployment I have set up a weblogic pool using oracle thin driver, =
not a
>weblogic oracle driver.
>
>So from what I can determine weblogic pool + oracle driver +
>oracleLobHandler throws the exception and
>Oracle jdbc pool + oracleLobHandler (as in test case) works.
>
>The printouts:
>
>template.getDataSource().getConnection()=3D
>weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_OracleConnection=
@112
>
>connection.getMetaData().getConnection() =3D
>weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_OracleConnection=
@112
>
>-----Original Message-----
>From: spr...@li...
>[mailto:spr...@li...] On =
Behalf Of
>j=FCrgen h=F6ller [werk3AT]
>Sent: 31 May 2004 22:52
>To: spr...@li...
>Subject: Re: [Springframework-developer] re: OracleLobCreator
>
>Can you check what kind of wrappers the DataSource returns? Simply =
fetch the
>DataSource, invoke getConnection() and see what kind of handle it =
returns
>(System.out.println). Furthermore, invoke
>getConnection().getMetaData().getConnection() and see whether this is =
the
>native Connection (System.out.println again).
>
>However, if you have properly specified SimpleNativeJdbcExtractor for
>OracleLobHandler's "nativeJdbcExtractor" property and still get that
>exception, then I assume that Weblogic's own Oracle JDBC driver doesn't =
use
>the OracleConnection class at all. This would mean that =
OracleLobHandler
>cannot be used with it.
>
>Do I understand correctly that OracleLobHandler plus
>SimpleNativeJdbcExtractor work properly with Oracle's original JDBC =
driver
>plus Weblogic's connection pool?
>
>Juergen
>
>
>________________________________
>
>Von: spr...@li... im Auftrag =
von
>Bronwen Cassidy
>Gesendet: Di 01.06.2004 00:24
>An: spr...@li...
>Betreff: RE: [Springframework-developer] re: OracleLobCreator
>
>
>
>Hi,
>
>OK the results when changing the driver for the pool from =
jdbc:oracle:thin
>to: jdbc:weblogic:oracle using SimpleNativeJdbcExtractor
>
>
>Error:
>org.springframework.dao.DataAccessResourceFailureException: Could not =
create
>Oracle LOB; nested exception is org.springframework.dao.In
>validDataAccessApiUsageException: OracleLobHandler needs to work on
>oracle.jdbc.OracleConnection - specify a proper NativeJdbcExtractor
>
>org.springframework.dao.InvalidDataAccessApiUsageException: =
OracleLobHandler
>needs to work on oracle.jdbc.OracleConnection - specify a
>proper NativeJdbcExtractor
> at
>org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.g=
etOr
>acleConnection(OracleLobHandler.java:366)
> at
>org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.c=
reat
>eLob(OracleLobHandler.java:336)
> at
>org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.s=
etCl
>obAsString(OracleLobHandler.java:264)
> at
>com.zynap.talentstudio.dao.jdbc.oracle.datamanipulation.PortfolioDataMan=
ipul
>ation$1.setValues(PortfolioDataManipulation.java
>:50)
> at
>org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStateme=
ntCa
>llback.doInPreparedStatement(AbstractLobCreating
>PreparedStatementCallback.java:71)
> at
>org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:292=
)
> at
>org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:308=
)
>
>-----Original Message-----
>From: spr...@li...
>[mailto:spr...@li...] On =
Behalf Of
>tho...@tr...
>Sent: 31 May 2004 21:47
>To: spr...@li...
>Subject: Re: [Springframework-developer] re: OracleLobCreator
>
>
>I was finally able to reproduce the error in my own environment using =
Spring
>1.0.1. I will try 1.0.2 (current CVS) and see what happens.
>
>Thomas
>
>
>Here is my stack trace:
>
>org.springframework.dao.DataAccessResourceFailureException: Could not =
create
>Oracle LOB; nested exception is java.lang.ClassCastException: null
>java.lang.ClassCastException
> at
>oracle.jdbc.driver.OracleConnection.unwrapCompletely(OracleConnection.ja=
va:5
>090)
> at
>oracle.jdbc.driver.OracleConnection.physicalConnectionWithin(OracleConne=
ctio
>n.java:5141)
> at oracle.sql.CLOB.createTemporary(CLOB.java:1009)
> at oracle.sql.CLOB.createTemporary(CLOB.java:956)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav=
a:39
>)
> at
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor=
Impl
>.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
>org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.p=
repa
>reLob(OracleLobHandler.java:375)
> at
>org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.c=
reat
>eLob(OracleLobHandler.java:327)
> at
>org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.s=
etCl
>obAsString(OracleLobHandler.java:255)
> at org.buggybean.web.TestServlet.doGet(TestServlet.java:94)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
>weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se=
rvle
>tStubImpl.java:971)
> at
>weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.=
java
>:402)
> at
>weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.=
java
>:305)
> at
>weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r=
un(W
>ebAppServletContext.java:6350)
> at
>weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu=
bjec
>t.java:317)
> at
>weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118=
)
> at
>weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServl=
etCo
>ntext.java:3635)
> at
>weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.=
java
>:2585)
> at =
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
>
>
>
>Quoting "j=FCrgen h=F6ller [werk3AT]" <jue...@we...>:
>
>=20
>
>>Changing the pool should just affect the NativeJdbcExtractor choice, =
=3D
>>i.e. a different bean wired to OracleLobHandler's =
"nativeJdbcExtractor" =3D
>>property.
>>=3D20
>>Give SimpleNativeJdbcExtractor a try with a Weblogic pool; there's a =
=3D
>>good chance that it will work, avoiding the need for a specific =
Weblogic =3D
>>implementation of the NativeJdbcExtractor interface.
>>=3D20
>>As of Spring 1.0.2, SimpleNativeJdbcExtractor will even work with =3D
>>Commons DBCP too, avoiding the need for a different =
NativeJdbcExtractor =3D
>>configuration when switching between Commons DBCP and another pool.
>>=3D20
>>Side note: The new version of SimpleNativeJdbcExtractor will also work =
=3D
>>with C3P0. This allows the use of C3P0's ComboPooledDataSource as =
direct =3D
>>replacement of Commons DBCP's BasicDataSource.
>>=3D20
>>Juergen
>>=3D20
>>
>>________________________________
>>
>>Von: spr...@li... im Auftrag =
=3D
>>von Bronwen Cassidy
>>Gesendet: Mo 31.05.2004 22:25
>>An: spr...@li...
>>Betreff: Re: [Springframework-developer] re: OracleLobCreator
>>
>>
>>
>>Hi
>>I have no concern as to the pool i use, i am actually
>>completely ignorant and have been blindly feeling my
>>way using the spring test cases, samples, docs and
>>some googling, until 4 months ago i had never used
>>oracle and until a week ago i did not need to do more
>>than work out db agnostic sql queries :-)
>>
>>so please i am more than happy to use weblogic pool,
>>which i am using when the app is deployed, hence the
>>test time passes and deploy time failures most
>>likely!! I am guessing the changes are needed in the
>>nativeJdbcExtractor class in the spring.xml needs to
>>point to a weblogic equivalent??
>>
>> --- Thomas Risberg <tho...@tr...> wrote:
>> =20
>>
>>>Since you are using the Commons DBCP rather than a
>>>WebLogic pool the
>>>issue is slightly different. We have to figure out
>>>why the connection
>>>returned from the DBCP pool is not unwrapped
>>>properly.
>>>
>>>Thomas
>>>
>>>
>>>Bronwen Cassidy wrote:
>>>
>>> =20
>>>
>>>>Thank-you Jurgen
>>>>This was the approach i had come to conclude as the
>>>>only difference between passing test case and
>>>> =20
>>>>
>>>failing
>>> =20
>>>
>>>>deployed app is the connection pool handled by
>>>>weblogic , ahh well another trip into the unknown,
>>>> =20
>>>>
>>>the
>>> =20
>>>
>>>>best part of being a developer ;-)
>>>>
>>>>regards
>>>>Bronwen
>>>>
>>>>--- j=3DFCrgen_h=3DF6ller_[werk3AT]
>>>><jue...@we...> wrote: >
>>>>OracleLobHandler needs to work on a native
>>>>=3D20
>>>>
>>>> =20
>>>>
>>>>>OracleConnection as it comes from the driver. The
>>>>>usual problem in that respect is not the driver
>>>>> =20
>>>>>
>>>but
>>> =20
>>>
>>>>>the connection pool: Every connection pool needs
>>>>> =20
>>>>>
>>>to
>>> =20
>>>
>>>>>wrap native connections with pooled connections
>>>>> =20
>>>>>
>>>that
>>> =20
>>>
>>>>>at least have different closing behavior.
>>>>>
>>>>>To address this, OracleLobHandler has the
>>>>>"nativeJdbcExtractor" property, taking an
>>>>>implementation of Spring's NativeJdbcExtractor
>>>>>interface. Spring includes out-of-the-box
>>>>>implementations for Commons DBCP, XAPool, and
>>>>> =20
>>>>>
>>>JBoss.
>>> =20
>>>
>>>>>I guess what you need to do is write such an
>>>>>extractor for Weblogic.
>>>>>
>>>>>What's odd about your exception is that
>>>>>OracleLobCreator does not complain that it doesn't
>>>>>receive an OracleConnection (there's an explicit
>>>>>check in there). It seems to get a wrapped
>>>>>connection that is still assignable to
>>>>>OracleConnection, although it's not the native
>>>>>OracleConnection from the driver...
>>>>>
>>>>>Maybe Weblogic uses some special way of pooling
>>>>>connections for the Oracle driver, using poolable
>>>>>OracleConnections? The getPhysicalConnection
>>>>> =20
>>>>>
>>>method
>>> =20
>>>
>>>>>will probably be in the OracleConnection class,
>>>>> =20
>>>>>
>>>not
>>> =20
>>>
>>>>>in the CLOB class. Try writing a
>>>>> =20
>>>>>
>>>NativeJdbcExtractor
>>> =20
>>>
>>>>>that unwraps an OracleConnection with that method.
>>>>> =20
>>>>>
>>>>>Juergen
>>>>>
>>>>>
>>>>>________________________________
>>>>>
>>>>>Von:
>>>>>
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>spr...@li...
>>> =20
>>>
>>>>=3D20
>>>>
>>>> =20
>>>>
>>>>>im Auftrag von Bronwen Cassidy
>>>>>Gesendet: Mo 31.05.2004 04:27
>>>>>An:
>>>>> =20
>>>>>
>>>spr...@li...
>>> =20
>>>
>>>>>Betreff: RE: [Springframework-developer] re:
>>>>>OracleLobCreator
>>>>>
>>>>>
>>>>>
>>>>>Hi I have:
>>>>>
>>>>>Weblogic 8 service pack 2
>>>>>ojdbc.jar (Oracle9i 9.2.0.1 JDBC Drivers)
>>>>>Oracle9i
>>>>>I have set up the connection pool using the
>>>>>jdbc:oracle:thin (oracle thin
>>>>>drivers (not weblogic ones)
>>>>>
>>>>>Actually I managed to find some information (very
>>>>>little) one from a
>>>>>hibernate mail, suggested using the
>>>>>getPhysicalConnection() instead of
>>>>>createTemporary, but this method does not seem to
>>>>>available on the CLOB
>>>>>class??
>>>>>
>>>>>-----Original Message-----
>>>>>From:
>>>>>
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>spr...@li...
>>> =20
>>>
>>>>=3D20
>>>>
>>>> =20
>>>>
>>>[mailto:spr...@li...]
>>> =20
>>>
>>>>=3D20
>>>>
>>>> =20
>>>>
>>>>>On Behalf Of
>>>>>Thomas Risberg
>>>>>Sent: 31 May 2004 02:09
>>>>>To:
>>>>> =20
>>>>>
>>>spr...@li...
>>> =20
>>>
>>>>>Subject: Re: [Springframework-developer] re:
>>>>>OracleLobCreator
>>>>>
>>>>>Bronwen,
>>>>>
>>>>>In order to pinpoint the problem quicker - what
>>>>>version of WebLogic,
>>>>>Oracle and JDBC drivers are you using?
>>>>>
>>>>>Thomas
>>>>>
>>>>>Bronwen Cassidy wrote:
>>>>>
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>Hi I have a CLOB column in oracle and in the test
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>there are no
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>problems, unfortunately deploying to weblogic I
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>get the exception
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>below. We are using classes12.jar whereas
>>>>>> =20
>>>>>>
>>>weblogic
>>> =20
>>>
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>uses ojdbc14.jar, I
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>firstly replaced weblogics jars and classpath
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>settings to use the
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>classes12.jar, but got the same error, so I
>>>>>> =20
>>>>>>
>>>pulled
>>> =20
>>>
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>weblogic oracle jar
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>into my test classpath to test if the problem was
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>with the jars but
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>the test worked fine ?? I am really stuck as to
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>whom this should go to
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>weblogic, oracle, or . I am hoping there is an
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>expert there who can
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>shed some light. Google did not have a single
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>>>match for variations of
>>>>> =3D20
>>>>>
>>>>> =20
>>>>>
>>>>>>the first 2 lines!!
>>>>>>
>>>>>>java.lang.ClassCastException
>>>>>>
>>>>>>at
>>>>>>
>>>>>> =3D20
>>>>>>
>>>>>> =20
>>>>>>
>>>oracle.jdbc.driver.OracleConnection.unwrapCompletely(OracleConnection.=
ja=3D
>>> =20
>>>
>>va:5
>> =20
>>
>>>>=3D20
>>>> =20
>>>>
>>=3D3D=3D3D=3D3D message truncated =3D3D=3D3D=3D3D
>>
>>
>> =3D20
>> =3D20
>> =3D20
>>____________________________________________________________
>>Yahoo! Messenger - Communicate instantly..."Ping"
>>your friends today! Download Messenger Now
>>http://uk.messenger.yahoo.com/download/index.html
>>
>>
>>-------------------------------------------------------
>>This SF.Net email is sponsored by: Oracle 10g
>>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>>Take an Oracle 10g class now, and we'll give you the exam FREE.
>>http://ads.osdn.com/?ad_id=3D3D3149&alloc_id=3D3D8166&op=3D3Dclick
>>_______________________________________________
>>Springframework-developer mailing list
>>Spr...@li...
>>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>
>>
>>
>>
>>-------------------------------------------------------
>>This SF.Net email is sponsored by: Oracle 10g
>>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>>Take an Oracle 10g class now, and we'll give you the exam FREE.
>>http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick
>>_______________________________________________
>>Springframework-developer mailing list
>>Spr...@li...
>>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>
>> =20
>>
>
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: Oracle 10g
>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>Take an Oracle 10g class now, and we'll give you the exam FREE.
>http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: Oracle 10g
>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>Take an Oracle 10g class now, and we'll give you the exam FREE.
>http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: Oracle 10g
>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>Take an Oracle 10g class now, and we'll give you the exam FREE.
>http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: Oracle 10g
>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>Take an Oracle 10g class now, and we'll give you the exam FREE.
>http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: Oracle 10g
>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>Take an Oracle 10g class now, and we'll give you the exam FREE.
>http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: Oracle 10g
>Get certified on the hottest thing ever to hit the market... Oracle =
10g.
>Take an Oracle 10g class now, and we'll give you the exam FREE.
>http://ads.osdn.com/?ad_id149&alloc_id=8166&op=3Dclick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>=20
>
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|