2 Replies Latest reply on Oct 10, 2002 9:00 AM by jbaxendale

    Where is .class for the LocalCallableStatement adapter?

    jbaxendale

      Hello,

      I am trying to switch from JBoss 2.4.3 to JBoss 3.0.0 I am using Oracles thin JDBC driver version 8.1.7.3.0 and I am making use of methods from the Oracle specific statement (OracleStatement) class to boost performance. In particular I am making use of defineColumnType to cut out a roundtrip to the database.

      Under 3.0.0 when I try to cast the CallableStatement retrieved to an OracleStatement I get a class cast exception indicating that the underlying class of the Statement is in fact org.jboss.resource.adapter.jdbc.local.LocalCallableStatement. Using reflection I discovered that this class has a getUnderlyingStatement() which I would like to call to get at the OracleStatement but I cant seem to find any jar in the distribution that contains the class file for this class. Am I overlooking a jar somewhere? I dont want to use reflection to call the method as this will be slow.

      Additionally I am getting the following exception under 3.0.0 that I was not seeing under 2.4.3 when I try to use an oracle specific ArrayDescriptor to pass a VARRAY to a PL/SQL stored procedure:

      44:58,729 INFO [STDOUT] java.lang.ClassCastException
      44:58,729 INFO [STDOUT] at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:88)
      44:58,729 INFO [STDOUT] at com.celera.di.server.impl.ejb.mslab.MSMSDatasetImpl.buildDelegateToSubordinateSetMap(MSMSDatasetImpl.java:796)
      44:58,729 INFO [STDOUT] at com.celera.di.server.impl.ejb.mslab.PipelineRunDatasetImpl.loadMSMSSpectra(PipelineRunDatasetImpl.java:78)
      44:58,729 INFO [STDOUT] at com.celera.di.server.skel.ejb.mslab.PipelineRunDatasetBean.loadMSMSSpectra(PipelineRunDatasetBean.java:41)
      44:58,729 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      44:58,729 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      44:58,744 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      44:58,744 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324)
      44:58,744 INFO [STDOUT] at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:664)
      44:58,744 INFO [STDOUT] at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:144)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:62)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:129)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
      44:58,760 INFO [STDOUT] at org.jboss.ejb.Container.invoke(Container.java:705)
      44:58,760 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
      44:58,760 INFO [STDOUT] at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:362)
      44:58,760 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
      44:58,760 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      44:58,760 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324)
      44:58,760 INFO [STDOUT] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
      44:58,760 INFO [STDOUT] at sun.rmi.transport.Transport$1.run(Transport.java:148)
      44:58,760 INFO [STDOUT] at java.security.AccessController.doPrivileged(Native Method)
      44:58,760 INFO [STDOUT] at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
      44:58,776 INFO [STDOUT] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
      44:58,776 INFO [STDOUT] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
      44:58,776 INFO [STDOUT] at java.lang.Thread.run(Thread.java:536)
      44:58,776 INFO [STDOUT] [2002-10-08 08:44:58 PipelineRunDatasetBean<2> baxendalejn SQL]

      I dont see any more information about which class was expected in this case. Any ideas what is going on here?

      Thanks in advance,

      James