ClassCastException in execution of EJB-QL finder
------------------------------------------------

         Key: JBAS-1385
         URL: http://jira.jboss.com/jira/browse/JBAS-1385
     Project: JBoss Application Server
        Type: Bug
  Components: CMP service  
    Versions: JBossAS-4.0.1 Final,  JBossAS-3.2.7 Final, JBossAS-3.2.6 Final    
    Reporter: nicolas cazottes
 Assigned to: Scott M Stark 


 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.7) 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

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to