Re: Bind main/access classes to JNDI
Armin Waibel <[email protected]>
| Newsgroups | gmane.comp.jakarta.ojb.user |
|---|---|
| Message-ID | <[email protected]> |
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 <snip> InitialContext ic = new InitialContext(); ds = (DataSource) ic.lookup(jcd.getDatasourceName()); </snip> 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.<init>(Throwable.java) > at java.lang.Throwable.<init>(Throwable.java) > at java.lang.ClassCastException.<init>(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.<init>(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.