Hello everyone:
I was trying to use the Spring framework with the JDBC DAO support. ONLY the JDBC DAO support, to avoid the need of using the try - catch - finally idiom to access the database.
I created the DAO interfaces and implementations. Then created an XML file called AcronetApplicationContext.xml and stored it under the <WEBAPPLICATION-FOLDER>/WEB-INF/classes folder.
I am using WebLogic Server 6.0 and a WebLogic Portal 4.0 application.
These is the AcronetApplicationContext.xml file:
--------------------------------> AcronetApplicationContext.xml file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!-- Middle tier application context definition for the Database. -->
<beans>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryB ean">
<property name="jndiName">
<value>weblogic.jdbc.pool.commercePool</value>
</property>
</bean>
<!-- Transaction manager for a single JDBC DataSource -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSou rceTransactionManager">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<bean id="medicalCenterDao" class="com.novartis.oncodb.acronet.util.dao.intern al.MedicalCenterDaoImpl">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
</beans>
--------------------------------> End of AcronetApplicationContext.xml file
I wanted to use my DAO to create (in the simplest and maybe most horrible way) a record in the Database, the record corresponds to a medical center data, using this JSP:
--------------------------------> INSERT A RECORD JSP
<%@ page import="com.novartis.oncodb.acronet.util.dao.Medic alCenterDao" %>
<%@ page import="com.novartis.oncodb.acronet.util.dao.inter nal.MedicalCenterDaoImpl" %>
<%@ page import="javax.sql.DataSource" %>
<%@ page import="javax.naming.*" %>
<%@ page import="com.novartis.oncodb.acronet.util.to.Medica lCenterTo" %>
<%@ page import="org.springframework.context.ApplicationCon text" %>
<%@ page import="org.springframework.context.support.ClassP athXmlApplicationContext"%>
<%
DataSource ds = null;
try {
InitialContext ic = new InitialContext();
ds = (DataSource) ic.lookup("weblogic.jdbc.pool.commercePool");
ic = null;
}catch(NamingException iae){
iae.printStackTrace();
}
ApplicationContext ctx = new ClassPathXmlApplicationContext("WEB-INF/classes/AcronetApplicationContext.xml");
MedicalCenterDao dao = (MedicalCenterDao) ctx.getBean("medicalCenterDao");
MedicalCenterTo centro = new MedicalCenterTo("Siglo XXI", "Metro Centro Medico");
out.println(dao.createCenter(centro));
%>
--------------------------------> END OF INSERT A RECORD JSP
When loading this JSP I get the following error in the stack trace:
=============== Initializing Logger ======================
<8/12/2004 01:54:04 PM PST> <Notice> <WebLogicServer> <ListenThread listening on
port 7501>
<8/12/2004 01:54:05 PM PST> <Notice> <WebLogicServer> <Started WebLogic Admin Se
rver "portalServer" for domain "portalDomain" running in Production Mode>
<8/12/2004 02:12:58 PM PST> <Error> <HTTP> <[WebAppServletContext(21422866,acron
et,/acronet)] Servlet failed with Exception
java.lang.NoSuchMethodError: org.springframework.core.io.AbstractResource: metho
d getDescription()Ljava/lang/String; not found
at java.lang.String.valueOf(String.java:1947)
at java.lang.StringBuffer.append(StringBuffer.java:37 0)
at org.springframework.beans.factory.xml.XmlBeanDefin itionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:117)
at org.springframework.context.support.AbstractXmlApp licationContext.loa
dBeanDefinitions(AbstractXmlApplicationContext.jav a:144)
at org.springframework.context.support.AbstractXmlApp licationContext.ref
reshBeanFactory(AbstractXmlApplicationContext.java :79)
at org.springframework.context.support.AbstractApplic ationContext.refres
h(AbstractApplicationContext.java:249)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<i
nit>(ClassPathXmlApplicationContext.java:80)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<i
nit>(ClassPathXmlApplicationContext.java:65)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<i
nit>(ClassPathXmlApplicationContext.java:56)
at jsp_servlet.__meterenbd._jspService(__meterenbd.ja va:110)
at weblogic.servlet.jsp.JspBase.service(JspBase.java: 27)
at weblogic.servlet.internal.ServletStubImpl.invokeSe rvlet(ServletStubIm
pl.java:262)
at weblogic.servlet.internal.ServletStubImpl.invokeSe rvlet(ServletStubIm
pl.java:321)
at weblogic.servlet.internal.ServletStubImpl.invokeSe rvlet(ServletStubIm
pl.java:198)
at weblogic.servlet.internal.WebAppServletContext.inv okeServlet(WebAppSe
rvletContext.java:2637)
at weblogic.servlet.internal.ServletRequestImpl.execu te(ServletRequestIm
pl.java:2359)
at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:120)
>
Could it be possible that the method is not present?
Thanks in advance,
Carlos Morales


Reply With Quote