Hi,
We are doing this in following way.
Code from repository_database.xml
<jdbc-connection-descriptor
jcd-alias="SQLJDBCProvider"
default-connection="true"
platform="MsSQLServer"
jdbc-level="3.0"
jndi-datasource-name="java:comp/env/dsForB2C"
code from web.xml
<resource-ref id="ResourceRef_1164091741914">
<description>
</description>
<res-ref-name>dsForB2C</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
----- Original Message -----
From: "k jee" <[EMAIL PROTECTED]>
To: "OJB Users List" <ojb-user@db.apache.org>
Sent: Wednesday, January 17, 2007 6:25 AM
Subject: Re: Bind main/access classes to JNDI
Armin, Thank you for your response.
If I specify JNDI name like jdbc/testdsn in the repository_database.xml,
everything works fine.
But the problem is, it makes a direct JNDI connection and Websphere is
not letting me use the Resource-Ref settings set in the web.xml file.
So I tried to use the indirect JNDI by creating a startup class that will
bind the datasource alias to the JNDI. For this I followed the weblogic
example from the OJB site.
I had a create my class that implements serializable in order to bind it
to the JNDI. is there any OJB class that I can use to bind the JNDI name
in my startup class.
Please help.
Thanks.
Armin Waibel <[EMAIL PROTECTED]> wrote:
Hi,
k jee wrote:
Hi All,
I am trying to use indirect JNDI for my web app in websphere application
server.
I followed the following doc and created OjbPbstartup class as explained.
http://db.apache.org/ojb/docu/guides/deployment.html#bind-to-jndi
When I try to access the getObjectByQuery function, I get the following
error. Can any one help? Please....
I assume that that the CCE occur while jndi lookup of the DataSource in
method ConnectionFactoryAbstractImpl#newConnectionFromDataSource
InitialContext ic = new InitialContext();
ds = (DataSource) ic.lookup(jcd.getDatasourceName());
In the mapping of the jdbc-connection-descriptor you have to specify the
jndi-name of the DataSource (to access the DB) defined on your
appServer. It seems you set the name of your OJB access-class (bound to
JNDI by yourself) instead.
regards,
Armin
[Servlet Error]-[com/mydir/pkg/OjbPbStartup incompatible with
javax/sql/DataSource]: java.lang.ClassCastException:
com/mydir/pkg/OjbPbStartup incompatible with javax/sql/DataSource
at java.lang.Throwable.(Throwable.java)
at java.lang.Throwable.(Throwable.java)
at java.lang.ClassCastException.(ClassCastException.java:53)
at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.newConnectionFromDataSource(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupConnection(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl.lookupConnection(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown
Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown
Source)
at org.apache.ojb.broker.accesslayer.RsIterator.(Unknown Source)
at
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown
Source)
at com.mydir.pkg.dao.tmpDAO.findByPK(tmpDAO.java)
at
com.mydir.pkg.actions.UserLoginAction.execute(UserLoginAction.java:136)
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.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:61)
at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java)
---------------------------------
The fish are biting.
Get more visitors on your site using Yahoo! Search Marketing.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------
Don't get soaked. Take a quick peak at the forecast
with theYahoo! Search weather shortcut.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]