I'm pretty sure. I just found this in section 10.5.1 of the spec (about a bean's lifecycle):
The instance does not move to the ready state during the execution of a finder or a home method. An ejbSelect<METHOD>(...) method may be called by an entity bean's home method while the instance is in the pooled state. Also the O'Reilly EJB book has a section on calling ejbSelect methods from Home methods. Anyway I really appreciate you taking a look at it. Jason -- Jason Carroll VeriSign Consulting Email: [EMAIL PROTECTED] Phone: (703) 948-3843 -----Original Message----- From: Dain Sundstrom [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 16, 2002 11:41 AM To: 'Carroll, Jason'; '[EMAIL PROTECTED]' Subject: RE: [JBoss-user] Problem using ejbSelect methods in ejbHome metho ds in 3.0alpha Does the spec allow for this? If it does, I'll fix it. -dain > -----Original Message----- > From: Carroll, Jason [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 16, 2002 8:08 AM > To: '[EMAIL PROTECTED]' > Subject: [JBoss-user] Problem using ejbSelect methods in > ejbHome methods > in 3.0alpha > > > I'm getting exceptions when I use ejbSelect methods but only > when they are > called from within ejbHome methods. I can create an > ejbSelect method and > then > use it in a method in the bean class and it works fine. I > can also create a > home method and call it from a session bean for instance and > it works fine, > but > when I copy the exact same code in the bean method to the > home method I get > an > exception from Jboss. Has anyone else gotten ejbSelect > methods to work from > within home methods? I'm currently using the 1/9/2002 > nightly snapshot from > cvs for this, but the same problem exists for me in a snapshot from > November. > Any help would be appreciated on what I might be doing wrong. > > Thanks, > Jason > > Example code and the exception is below: > > public abstract class IssueBean extends GenericBean { > > ... > > public abstract Collection > ejbSelectLastModifiedDates(Integer productId) > throws FinderException; > > // Calling this home method throws an exception when the > ejbSelect call > is made > public Date ejbHomeLatestModificationDate(Integer productId) { > System.out.println("Product Id = " + productId); > try { > Collection dates = ejbSelectLastModifiedDates(productId); > System.out.println("dates contained " + dates.size() + > "elements"); > } catch(FinderException fe) { > } > return new Date(); > } > > // Calling this method on a IssueLocal object returns the > correct size > of the collection > public int getNumberDates(Integer productId) { > try { > Collection dates = ejbSelectLastModifiedDates(productId); > System.out.println("dates contained " + dates.size() + > "elements"); > return dates.size(); > } catch(FinderException fe) { > } > return 0; > } > > } > > public interface IssueLocal extends EJBLocalObject { > > ... > > public IssueModel getModel(); > } > > public interface IssueLocalHome extends EJBLocalHome { > > public IssueLocal create(Integer value) throws CreateException; > > public IssueLocal findByPrimaryKey(Integer value) throws > FinderException; > > public Date latestModificationDate(Integer productId); > } > > ejb-jar info: > > <query> > <description>Selects all lastModificationDates from a > Product's > Issues</description> > <query-method> > <method-name>ejbSelectLastModifiedDates</method-name> > <method-params> > <method-param>java.lang.Integer</method-param> > </method-params> > </query-method> > <ejb-ql>SELECT i.lastModifiedDate FROM Issue AS i > WHERE i.product.id > = ?1</ejb-ql> > </query> > > > Exception is: > > 12:04:55,540 ERROR [StatelessSessionContainer] invoke > returned an exception > java.rmi.ServerException: null > Embedded Exception > null; nested exception is: > javax.ejb.EJBException: null > Embedded Exception > null > javax.ejb.EJBException: null > Embedded Exception > null > at > org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.i nvoke(Stateles > sSessionContainer.java:634) > at > org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac tTxInterceptor > .java:96) > at > org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(Abst ractTxIntercep > torBMT.java:142) > at > org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT .java:62) > at > org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invo > ke(StatelessSe > ssionInstanceInterceptor.java:77) > at > org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInter ceptor.java:12 > 7) > at > org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166) > at > org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessio nContainer.jav > a:289) > at org.jboss.ejb.Container.invoke(Container.java:609) > at > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl. java:1555) > at > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl. java:1523) > at > org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:113) > at > org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(J RMPInvokerProx > y.java:149) > at > org.jboss.proxy.ejb.GenericProxy.invoke(GenericProxy.java:182) > at > org.jboss.proxy.ejb.StatelessSessionProxy.invoke(StatelessSess ionProxy.java: > 110) > at $Proxy157.getLatestIssueDateByProductId(Unknown Source) > at > org.apache.jsp.list_0005fissues_0005fby_0005fproduct$jsp._jspS ervice(list_00 > 05fissues_0005fby_0005fproduct$jsp.java:159) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.jasper.servlet.JspServlet$JspServletWrapper.service > (JspServlet.ja > va:202) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet .java:382) > at > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:291) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler .java:542) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1265) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1219) > at org.mortbay.http.HttpServer.service(HttpServer.java:725) > at > org.mortbay.http.HttpConnection.service(HttpConnection.java:745) > at > org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:918) > at > org.mortbay.http.HttpConnection.handle(HttpConnection.java:760) > at > org.mortbay.http.SocketListener.handleConnection(SocketListene r.java:138) > at > org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287) > at > org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715) > at java.lang.Thread.run(Unknown Source) > java.rmi.ServerException: null > Embedded Exception > null; nested exception is: > javax.ejb.EJBException: null > Embedded Exception > null > javax.ejb.EJBException: null > Embedded Exception > null > at > org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome( EntityContaine > r.java:968) > at > org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractI nterceptor.jav > a:73) > at > org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractI nterceptor.jav > a:73) > at > org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeH > ome(EntitySync > hronizationInterceptor.java:221) > at > org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(Ent ityInstanceInt > erceptor.java:136) > at > org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityL ockInterceptor > .java:80) > at > org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac tTxInterceptor > .java:98) > at > org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxI nterceptorCMT. > java:158) > at > org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxIntercepto rCMT.java:55) > at > org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityI nterceptor.jav > a:102) > at > org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor .java:109) > at > org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:429) > at > org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invokeHo > me(BaseLocalCo > ntainerInvoker.java:281) > at > org.jboss.ejb.plugins.local.BaseLocalContainerInvoker$HomeProx y.invoke(BaseL > ocalContainerInvoker.java:432) > at $Proxy145.latestModificationDate(Unknown Source) > at > cowsultants.itracker.ejb.beans.session.IssueHandlerBean.getLat > estIssueDateBy > ProductId(IssueHandlerBean.java:126) > at java.lang.reflect.Method.invoke(Native Method) > at > org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.i nvoke(Stateles > sSessionContainer.java:623) > at > org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac tTxInterceptor > .java:96) > at > org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(Abst ractTxIntercep > torBMT.java:142) > at > org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT .java:62) > at > org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invo > ke(StatelessSe > ssionInstanceInterceptor.java:77) > at > org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInter ceptor.java:12 > 7) > at > org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166) > at > org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessio nContainer.jav > a:289) > at org.jboss.ejb.Container.invoke(Container.java:609) > at > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl. java:1555) > at > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl. java:1523) > at > org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:113) > at > org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(J RMPInvokerProx > y.java:149) > at > org.jboss.proxy.ejb.GenericProxy.invoke(GenericProxy.java:182) > at > org.jboss.proxy.ejb.StatelessSessionProxy.invoke(StatelessSess ionProxy.java: > 110) > at $Proxy157.getLatestIssueDateByProductId(Unknown Source) > at > org.apache.jsp.list_0005fissues_0005fby_0005fproduct$jsp._jspS ervice(list_00 > 05fissues_0005fby_0005fproduct$jsp.java:159) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.jasper.servlet.JspServlet$JspServletWrapper.service > (JspServlet.ja > va:202) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet .java:382) > at > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:291) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler .java:542) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1265) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1219) > at org.mortbay.http.HttpServer.service(HttpServer.java:725) > at > org.mortbay.http.HttpConnection.service(HttpConnection.java:745) > at > org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:918) > at > org.mortbay.http.HttpConnection.handle(HttpConnection.java:760) > at > org.mortbay.http.SocketListener.handleConnection(SocketListene r.java:138) > at > org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287) > at > org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715) > at java.lang.Thread.run(Unknown Source) > java.lang.NullPointerException > at > org.jboss.ejb.plugins.cmp.bridge.EntityBridgeInvocationHandler > .invoke(Entity > BridgeInvocationHandler.java:131) > at > org.jboss.proxy.compiler.ProxyCompiler$Runtime.invoke(ProxyCom piler.java:89) > at > cowsultants.itracker.ejb.beans.entity.IssueBean$Proxy.ejbSelec tLastModifiedD > ates(Unknown > Source) > at > cowsultants.itracker.ejb.beans.entity.IssueBean.ejbHomeLatestM > odificationDat > e(IssueBean.java:50) > at java.lang.reflect.Method.invoke(Native Method) > at > org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome( EntityContaine > r.java:957) > at > org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractI nterceptor.jav > a:73) > at > org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractI nterceptor.jav > a:73) > at > org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeH > ome(EntitySync > hronizationInterceptor.java:221) > at > org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(Ent ityInstanceInt > erceptor.java:136) > at > org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityL ockInterceptor > .java:80) > at > org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac tTxInterceptor > .java:98) > at > org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxI nterceptorCMT. > java:158) > at > org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxIntercepto rCMT.java:55) > at > org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityI nterceptor.jav > a:102) > at > org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor .java:109) > at > org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:429) > at > org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invokeHo > me(BaseLocalCo > ntainerInvoker.java:281) > at > org.jboss.ejb.plugins.local.BaseLocalContainerInvoker$HomeProx y.invoke(BaseL > ocalContainerInvoker.java:432) > at $Proxy145.latestModificationDate(Unknown Source) > at > cowsultants.itracker.ejb.beans.session.IssueHandlerBean.getLat > estIssueDateBy > ProductId(IssueHandlerBean.java:126) > at java.lang.reflect.Method.invoke(Native Method) > at > org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.i nvoke(Stateles > sSessionContainer.java:623) > at > org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac tTxInterceptor > .java:96) > at > org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(Abst ractTxIntercep > torBMT.java:142) > at > org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT .java:62) > at > org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invo > ke(StatelessSe > ssionInstanceInterceptor.java:77) > at > org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInter ceptor.java:12 > 7) > at > org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166) > at > org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessio nContainer.jav > a:289) > at org.jboss.ejb.Container.invoke(Container.java:609) > at > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl. java:1555) > at > com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl. java:1523) > at > org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:113) > at > org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(J RMPInvokerProx > y.java:149) > at > org.jboss.proxy.ejb.GenericProxy.invoke(GenericProxy.java:182) > at > org.jboss.proxy.ejb.StatelessSessionProxy.invoke(StatelessSess ionProxy.java: > 110) > at $Proxy157.getLatestIssueDateByProductId(Unknown Source) > at > org.apache.jsp.list_0005fissues_0005fby_0005fproduct$jsp._jspS ervice(list_00 > 05fissues_0005fby_0005fproduct$jsp.java:159) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.jasper.servlet.JspServlet$JspServletWrapper.service > (JspServlet.ja > va:202) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet .java:382) > at > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:291) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler .java:542) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1265) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1219) > at org.mortbay.http.HttpServer.service(HttpServer.java:725) > at > org.mortbay.http.HttpConnection.service(HttpConnection.java:745) > at > org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:918) > at > org.mortbay.http.HttpConnection.handle(HttpConnection.java:760) > at > org.mortbay.http.SocketListener.handleConnection(SocketListene r.java:138) > at > org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:287) > at > org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:715) > at java.lang.Thread.run(Unknown Source) > 12:04:56,812 INFO [Default] ServerException > (java.rmi.ServerException) in > list_issues_by_product: null > Embedded Exception > null; nested exception is: > javax.ejb.EJBException: null > Embedded Exception > null > > > ===== > -- > Jason Carroll > [EMAIL PROTECTED] > > __________________________________________________ > Do You Yahoo!? > Send FREE video emails in Yahoo! Mail! > http://promo.yahoo.com/videomail/ > > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > > _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user