Bugs item #1097916, was opened at 2005-01-07 15:22 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=1097916&group_id=22866
Category: JBossCMP Group: v3.2 Status: Open Resolution: None Priority: 5 Submitted By: Nicolas (cnico) Assigned to: Nobody/Anonymous (nobody) Summary: ClassCastException in execution of EJB-QL finder Initial Comment: There is a ClassCastException at execution time on Jboss since version 3.2.6 (it worked on 3.2.5 but neither on 3.2.6 nor on 3.2.7RC1) when calling an EJB finder query defined as follow with Xdoclet tags : @ejb.finder * view-type = "local" * signature="test.ProductLocal findByRefToAndToLicense(java.lang.String refTo, java.lang.String license)" * result-type-mapping="Local" * method-intf="LocalHome" * query="SELECT DISTINCT pr.id FROM TourOperator to, IN ( to.products ) AS pr WHERE to.licenseNumber = ?2 AND pr.refTo = ?1" * The trace is given after when jboss is in trace log level. I also tested the same query with a return of type Collection and it worked well. So I think the Cast problem is that I declared the result as ProductLocal and not Collection but it should be working without using a Collection since I known by construction that the result of the search is either 0 or 1. Here is the trace : 16:03:09,690 TRACE [Registry] lookup 491837535=jboss.j2ee:jndiName=ejb/ProductSearchHome,service=EJB 16:03:09,690 TRACE [StatelessSessionContainer] METHOD HOME INVOKE 491837535||create||[Ljava.lang.Object;@1900f17 16:03:09,690 TRACE [LogInterceptor] Start method=create 16:03:09,690 TRACE [TxInterceptorCMT] Current transaction in MI is null 16:03:09,690 TRACE [TxInterceptorCMT] TX_REQUIRED for create timeout=0 16:03:09,690 TRACE [TxInterceptorCMT] Thread came in with tx null 16:03:09,690 TRACE [TransactionImpl] Created new instance for tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//25, BranchQual=] 16:03:09,690 TRACE [TxInterceptorCMT] Starting new tx TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//25, BranchQual=] 16:03:09,690 TRACE [TxInterceptorCMT] TxInterceptorCMT: In finally 16:03:09,690 TRACE [TransactionImpl] Committing, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//25, BranchQual=], status=STATUS_ACTIVE 16:03:09,690 TRACE [TransactionImpl] Before completion done, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//25, BranchQual=], status=STATUS_ACTIVE 16:03:09,690 TRACE [TransactionImpl] Zero phase commit: No resources. 16:03:09,690 TRACE [TransactionImpl] Committed OK, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//25, BranchQual=] 16:03:09,690 TRACE [LogInterceptor] End method=create 16:03:09,752 TRACE [Registry] lookup 491837535=jboss.j2ee:jndiName=ejb/ProductSearchHome,service=EJB 16:03:09,752 TRACE [StatelessSessionContainer] METHOD REMOTE INVOKE 491837535||searchProductIDByRefToAndLicenseNumber|| 16:03:09,752 TRACE [LogInterceptor] Start method=searchProductIDByRefToAndLicenseNumber 16:03:09,752 TRACE [TxInterceptorCMT] Current transaction in MI is null 16:03:09,752 TRACE [TxInterceptorCMT] TX_REQUIRED for searchProductIDByRefToAndLicenseNumber timeout=0 16:03:09,752 TRACE [TxInterceptorCMT] Thread came in with tx null 16:03:09,752 TRACE [TransactionImpl] Created new instance for tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] 16:03:09,752 TRACE [TxInterceptorCMT] Starting new tx TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] 16:03:09,752 TRACE [StatelessSessionInstancePool] Get instance [EMAIL PROTECTED] test.ProductSearchSession 16:03:09,752 TRACE [CachedConnectionManager] new stack for key: [EMAIL PROTECTED] 16:03:09,752 TRACE [ProxyFactoryFinderInterceptor] invokerBInding is null in ProxyFactoryFinder 16:03:09,752 TRACE [LogInterceptor] Start method=findByRefToAndToLicense 16:03:09,752 TRACE [TxInterceptorCMT] Current transaction in MI is TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] 16:03:09,752 TRACE [TxInterceptorCMT] TX_REQUIRED for findByRefToAndToLicense timeout=0 16:03:09,752 TRACE [TxInterceptorCMT] Thread came in with tx TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] 16:03:09,752 TRACE [EntityInstancePool] Get instance [EMAIL PROTECTED] test.ProductCMP 16:03:09,752 TRACE [CachedConnectionManager] old stack for key: [EMAIL PROTECTED] 16:03:09,752 DEBUG [Product#findByRefToAndToLicense] Executing SQL: SELECT DISTINCT t0_pr.ID FROM tour_operator t1_to, product t0_pr WHERE ((t1_to.LICENSE = ? AND t0_pr.REF_TO = ?)) AND t1_to.ID=t0_pr.TO_ID 16:03:09,752 TRACE [TransactionImpl] enlistResource(): Entered, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] status=STATUS_ACTIVE 16:03:09,752 TRACE [TransactionImpl] startResource(XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=1]) entered: [EMAIL PROTECTED] flags=0 16:03:09,752 TRACE [TransactionImpl] startResource(XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=1]) leaving: [EMAIL PROTECTED] flags=0 16:03:09,752 TRACE [TransactionImpl] registerSynchronization(): Entered, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] status=STATUS_ACTIVE 16:03:09,752 TRACE [CachedConnectionManager] registering connection from [EMAIL PROTECTED], connection : [EMAIL PROTECTED], key: [EMAIL PROTECTED] 16:03:09,752 TRACE [Product#findByRefToAndToLicense] param: i=1, type=VARCHAR, value=MAR075950298 16:03:09,752 TRACE [Product#findByRefToAndToLicense] param: i=2, type=VARCHAR, value=TURI3*3N1 16:03:09,752 TRACE [Product#id] result: i=1, type=java.lang.Integer, value=7535 16:03:09,752 TRACE [CachedConnectionManager] unregistering connection from [EMAIL PROTECTED], object: [EMAIL PROTECTED], key: [EMAIL PROTECTED] 16:03:09,752 TRACE [CachedConnectionManager] popped object: [EMAIL PROTECTED] 16:03:09,752 TRACE [EntityInstancePool] 0/100 Free instance:[EMAIL PROTECTED] test.ProductCMP 16:03:09,752 TRACE [TxInterceptorCMT] TxInterceptorCMT: In finally 16:03:09,752 TRACE [LogInterceptor] End method=findByRefToAndToLicense 16:03:09,752 TRACE [CachedConnectionManager] popped object: [EMAIL PROTECTED] 16:03:09,752 TRACE [StatelessSessionInstancePool] Discard instance:[EMAIL PROTECTED]@335297#TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=]#true#class test.ProductSearchSession 16:03:09,752 TRACE [TransactionImpl] setRollbackOnly(): Entered, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] status=STATUS_ACTIVE 16:03:09,752 TRACE [TxInterceptorCMT] TxInterceptorCMT: In finally 16:03:09,752 TRACE [TransactionImpl] rollback(): Entered, tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=] status=STATUS_MARKED_ROLLBACK 16:03:09,752 TRACE [TransactionImpl] endresources(0): state=1 16:03:09,752 TRACE [TransactionImpl] endResource(XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=1]) entered: [EMAIL PROTECTED] flag=67108864 16:03:09,768 TRACE [TransactionImpl] endResource(XidImpl [FormatId=257, GlobalId=NICOLAS//26, BranchQual=1]) leaving: [EMAIL PROTECTED] flag=67108864 16:03:09,768 ERROR [LogInterceptor] RuntimeException in method: public abstract java.lang.Integer test.ProductSearch.searchProductIDByRefToAndLicenseNumber(java.lang.String,java.lang.String) throws javax.ejb.FinderException,java.rmi.RemoteException java.lang.ClassCastException at $Proxy84.findByRefToAndToLicense(Unknown Source) at test.SearchBean.searchProductIDByRefToAndLicenseNumber(SearchBean.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:683) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:72) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:317) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:150) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:111) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331) at org.jboss.ejb.Container.invoke(Container.java:709) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54) at org.jboss.mx.server.Invocation.invoke(Invocation.java:82) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:197) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:360) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:534) 16:03:09,768 TRACE [LogInterceptor] End method=searchProductIDByRefToAndLicenseNumber 16:03:09,768 TRACE [JRMPInvoker] Failed to invoke on mbean: jboss.j2ee:jndiName=ejb/ProductSearchHome,service=EJB java.rmi.ServerException: RuntimeException; nested exception is: java.lang.ClassCastException at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:385) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331) at org.jboss.ejb.Container.invoke(Container.java:709) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54) at org.jboss.mx.server.Invocation.invoke(Invocation.java:82) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:197) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:360) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:534) Caused by: java.lang.ClassCastException at $Proxy84.findByRefToAndToLicense(Unknown Source) at test.SearchBean.searchProductIDByRefToAndLicenseNumber(SearchBean.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:683) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:72) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:317) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:150) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:111) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191) ... 25 more ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=1097916&group_id=22866 ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ JBoss-Development mailing list JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development