geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dale de los Reyes" <drey...@hotmail.com>
Subject Re: Problem accessing Entity Bean, Getting SystemExceptionInterceptor warning
Date Tue, 15 Aug 2006 20:10:55 GMT
Hi Lasantha,

I finally got my entity bean working. The requisite "user-error" applies 
here (*blush*). What happend is that I started out my entity bean using CMP. 
When I ran into problems, I switched it to BMP. However, in the course of 
the switch, I forgot to remove the "abstract" keyword at the beginning of 
the class definition when implementing the entity bean! Once I removed it, 
there was much rejoicing. I have since been able to get CMP working as well. 
Ugh, I'm so embarrased.

Thanks for responding and thank you for your example code! It really helped 
me out a lot!

Very much appreciated,
Dale


>From: Lasantha Ranaweera <lasantha@opensource.lk>
>Reply-To: user@geronimo.apache.org
>To: user@geronimo.apache.org
>Subject: Re: Problem accessing Entity Bean, Getting 
>SystemExceptionInterceptor warning
>Date: Tue, 15 Aug 2006 18:37:46 +0530
>
>Hi Dale,
>
>Can you give more information on your client application?
>
>Also have a look at 
>http://cwiki.apache.org/confluence/display/GMOxDOC11/EJB+sample+application. 
>But it is not yet finished. Hope it this will help to you too.
>
>Regards,
>Lasantha Ranaweera
>Senior Software Engineer,
>Lanka Sofware Foundation,
>Sri Lanka.
>
>Dale de los Reyes wrote:
>>Hello,
>>
>>I need some help. I've been having problems accessing an entity bean from 
>>my session bean. I've coded similar EJBs before and they've successfully 
>>run on Geronimo 1.0. I tried using the upgrade.jar utility on these old 
>>beans, but was unable to get them to deploy. When the example programs 
>>became available, I gave up trying to use the upgrade tool. Now, the 
>>application seems to deploy just fine with no error messages being 
>>returned in the console window, but there are some debug messages in the 
>>log file.
>>
>>When I access my application, the session bean seems to locate the entity 
>>bean successfully. But when I call a method belonging to that entity bean, 
>>I get a "SystemExceptionInterceptor" warning. I'm not sure what this 
>>means, other than I'm doing something wrong.
>>
>>I'm using Geronimo 1.1 with Tomcat and Java 1.4.2_10. The descriptor files 
>>are modelled after the Bank demo supplied in the user manual which I was 
>>able to get running. My test application is deployed as an ear file via 
>>Hot Deployer.
>>
>>The descriptor files (ejb-jar.xml, openejb-jar.xml) and stack trace are 
>>below for my test application. I hope someone can point out what I'm 
>>missing or doing wrong.
>>
>>Thanks,
>>Dale
>>
>>
>>ejb-jar.xml
>>-----------
>>
>><?xml version="1.0" encoding="UTF-8"?>
>>
>><!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise 
>>JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
>>
>><ejb-jar>
>>   <enterprise-beans>
>>      <session>
>>         <ejb-name>ProcessCustomerSessionBean</ejb-name>
>>         <home>com.service.customer.ejb.ProcessCustomerHome</home>
>>         <remote>com.service.customer.ejb.ProcessCustomer</remote>
>>         
>><ejb-class>com.service.customer.ejb.ProcessCustomerSessionBean</ejb-class>
>>
>>         <session-type>Stateless</session-type>
>>         <transaction-type>Container</transaction-type>
>>
>>         <ejb-ref>
>>            <ejb-ref-name>ejb/CustomerHome</ejb-ref-name>
>>            <ejb-ref-type>Entity</ejb-ref-type>
>>            <home>com.service.customer.ejb.CustomerHome</home>
>>            <remote>com.service.customer.ejb.Customer</remote>
>>            <ejb-link>CustomerEntityBean</ejb-link>
>>         </ejb-ref>
>>      </session>
>>
>>      <entity>
>>         <ejb-name>CustomerEntityBean</ejb-name>
>>         <home>com.service.customer.ejb.CustomerHome</home>
>>         <remote>com.service.customer.ejb.Customer</remote>
>>         
>><ejb-class>com.service.customer.ejb.CustomerEntityBean</ejb-class>
>>
>>         <persistence-type>Bean</persistence-type>
>>         <prim-key-class>java.lang.String</prim-key-class>
>>         <reentrant>False</reentrant>
>>
>>         <resource-ref>
>>            <res-ref-name>jdbc/CustomerServiceDataSource</res-ref-name>
>>            <res-type>javax.sql.DataSource</res-type>
>>            <res-auth>Container</res-auth>
>>         </resource-ref>
>>      </entity>
>>   </enterprise-beans>
>>
>>   <assembly-descriptor>
>>      <container-transaction>
>>         <method>
>>            <ejb-name>ProcessCustomerSessionBean</ejb-name>
>>            <method-name>*</method-name>
>>         </method>
>>
>>         <trans-attribute>Required</trans-attribute>
>>      </container-transaction>
>>   </assembly-descriptor>
>></ejb-jar>
>>
>>*****
>>
>>openejb-jar.xml
>>---------------
>>
>><?xml version="1.0" encoding="UTF-8"?>
>>
>><openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
>>   <dep:environment 
>>xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
>>      <dep:moduleId>
>>         <dep:groupId>default</dep:groupId>
>>         <dep:artifactId>CustomerService-ejb</dep:artifactId>
>>         <dep:version>1.0</dep:version>
>>         <dep:type>jar</dep:type>
>>      </dep:moduleId>
>>
>>      <dep:dependencies>
>>         <dep:dependency>
>>            <dep:groupId>console.dbpool</dep:groupId>
>>            <dep:artifactId>CustomerServicePool</dep:artifactId>
>>            <dep:version>1.0</dep:version>
>>            <dep:type>rar</dep:type>
>>         </dep:dependency>
>>      </dep:dependencies>
>>
>>      <dep:hidden-classes/>
>>      <dep:non-overridable-classes/>
>>   </dep:environment>
>>
>>   <enterprise-beans>
>>      <session>
>>         <ejb-name>ProcessCustomerSessionBean</ejb-name>
>>         <jndi-name>ProcessCustomerRemoteSessionBean</jndi-name>
>>
>>         <ejb-ref>
>>            <ref-name>ejb/CustomerHome</ref-name>
>>            <ejb-link>CustomerEntityBean</ejb-link>
>>         </ejb-ref>
>>      </session>
>>
>>      <entity>
>>         <ejb-name>CustomerEntityBean</ejb-name>
>>         <jndi-name>CustomerRemoteEntity</jndi-name>
>>
>>         <resource-ref>
>>            <ref-name>jdbc/CustomerServiceDataSource</ref-name>
>>            <resource-link>CustomerServicePool</resource-link>
>>         </resource-ref>
>>      </entity>
>>   </enterprise-beans>
>></openejb-jar>
>>
>>*****
>>
>>This stack trace is taken from "geronimo-1.1/var/log/geronimo.log"
>>
>>09:28:35,491 DEBUG [GBeanSingleReference] Waiting to start 
>>default/CustomerService/1.0/ear?J2EEApplication=default/CustomerService/1.0/ear,j2eeType=EJBModule,name=CustomerService-ejb.jar

>>because no targets are running for reference J2EEApplication matching the 
>>patterns 
>>default/CustomerService/1.0/ear?j2eeType=J2EEApplication,name=default/CustomerService/1.0/ear
>>
>>09:28:35,631 DEBUG [GBeanSingleReference] Waiting to start 
>>default/CustomerService/1.0/ear?J2EEApplication=default/CustomerService/1.0/ear,j2eeType=EJBModule,name=PubQueryEJB.jar

>>because no targets are running for reference J2EEApplication matching the 
>>patterns 
>>default/CustomerService/1.0/ear?j2eeType=J2EEApplication,name=default/CustomerService/1.0/ear
>>
>>09:29:19,985 WARN  [SystemExceptionInterceptor] CustomerEntityBean
>>javax.transaction.TransactionRolledbackException: 
>>com.service.customer.ejb.CustomerEntityBean
>>     at 
>>org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:126)
>>
>>     at 
>>org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
>>
>>     at 
>>org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
>>
>>     at 
>>org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
>>     at 
>>org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:164)
>>
>>     at 
>>org.openejb.proxy.EntityEJBHome$$EnhancerByCGLIB$$d8dd02dd.findByAll(<generated>)
>>
>>     at 
>>com.service.customer.ejb.ProcessCustomerSessionBean.findAllCustomers(ProcessCustomerSessionBean.java:70)
>>
>>     at 
>>com.service.customer.ejb.ProcessCustomerSessionBean$$FastClassByCGLIB$$5aed4974.invoke(<generated>)
>>
>>     at 
>>org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90)
>>
>>     at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67)
>>     at 
>>org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72)
>>
>>     at 
>>org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56)
>>
>>     at 
>>org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81)
>>
>>     at 
>>org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)
>>
>>     at 
>>org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
>>
>>     at 
>>org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98)
>>
>>     at 
>>org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:140)
>>
>>     at 
>>org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
>>
>>     at 
>>org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
>>
>>     at 
>>org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
>>     at 
>>org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:164)
>>
>>     at 
>>org.openejb.proxy.SessionEJBObject$$EnhancerByCGLIB$$ba84632c.findAllCustomers(<generated>)
>>
>>     at 
>>com.service.customer.web.CustomerServiceJavaBean.getAllCustomers(CustomerServiceJavaBean.java:94)
>>
>>     at 
>>org.apache.jsp.customers.index_jsp._jspService(org.apache.jsp.customers.index_jsp:81)
>>
>>     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>     at 
>>org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>>
>>     at 
>>org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>     at 
>>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>>
>>     at 
>>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>
>>     at 
>>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>
>>     at 
>>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>>
>>     at 
>>org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:46)
>>
>>     at 
>>org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:342)
>>
>>     at 
>>org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
>>
>>     at 
>>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>>
>>     at 
>>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>>
>>     at 
>>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>>
>>     at 
>>org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
>>     at 
>>org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>>
>>     at 
>>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>>
>>     at 
>>org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
>>
>>     at 
>>org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>>
>>     at 
>>org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>>
>>     at 
>>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>>
>>     at java.lang.Thread.run(Thread.java:534)
>>
>>
>>
>



Mime
View raw message