Hello again.

Ok, with regards to my last email ("Simple Question...") about how to get
CLOB data over 4K into the Oracle Database, I have changed my BMP entity
beans to write the Clob data in the recommended way, and all is fine when
testing on my machine (running Tomcat and IAS)...  However, when I move the
EJB Jar over to the Solaris Server, and deploy all of my JSP and JavaBeans
in the correct places, jBoss throws an exception whenever a call is made to
try and load in the Clob data!!!

I am using jboss-2.0-final with embedded Tomcat

I have added all of the source and information that you might need!!

Thank you for ANY help you can give (even words of support ;-) )

Tim Yates

PS:  Sorry for the length of this mail, I didn't want to leave anything out
that someone might need to see what the problem is...


=================================

This is the code in jboss.conf where I set up my DataSource (which used to
work before I changed my Clob writing code)

<MLET CODE="org.jboss.jdbc.XADataSourceLoader"
ARCHIVE="jboss.jar,classes12.zip" CODEBASE="../../lib/ext/">
    <ARG TYPE="java.lang.String" VALUE="DataSource">
    <ARG TYPE="java.lang.String"
VALUE="org.jboss.minerva.xa.XADataSourceImpl">
</MLET>

=================================

This is the code from the ejbCreate() method in my BMP file

      connection = dataSource.getConnection();
      connection.setAutoCommit( false );
      statement = connection.prepareStatement("INSERT INTO CONTENT
(DOCUMENTID, STARTDATE, ENDDATE, DEPARTMENT, TYPE, XML, SUBTYPE) VALUES (?,
?, ?, ?, ?, empty_clob(), ?)");
      statement.setString(1, documentid);
      statement.setTimestamp(2, startdate);
      statement.setTimestamp(3, enddate);
      statement.setString(4, department);
      statement.setString(5, type);
      statement.setString(6, subtype);
      if (statement.executeUpdate() != 1)
      {
        throw new CreateException("Error adding row");
      }
      statement.close();
      statement = null;

      // Ok, now we have added the row, we can set the clob data....
      // 1: lock the row...
      statement = connection.prepareStatement( "SELECT XML FROM CONTENT
WHERE DOCUMENTID = ? FOR UPDATE" ) ;
      statement.setString(1, documentid);
      ResultSet rslt = statement.executeQuery() ;
      if( rslt.next() )
      {
        CLOB cl = ((OracleResultSet)rslt).getCLOB( 1 ) ;
        Writer wr = cl.getCharacterOutputStream() ;
        wr.write( xml.toString() );
        wr.close();
      }
      rslt.close();
      rslt = null ;
      statement.close() ;
      statement = null ;

      connection.close();
      connection = null;

      return documentid;

===============================

This is the code from the ejbStore() method which (seems) to be the one that
throws the exception

      connection = dataSource.getConnection();
      connection.setAutoCommit( false );
      statement = connection.prepareStatement("UPDATE CONTENT SET STARTDATE
= ?, ENDDATE = ?, DEPARTMENT = ?, TYPE = ?, SUBTYPE = ? WHERE DOCUMENTID =
?");
      statement.setTimestamp(1, startdate);
      statement.setTimestamp(2, enddate);
      statement.setString(3, department);
      statement.setString(4, type);
      statement.setString(5, subtype );
      statement.setString(6, documentid);
      if (statement.executeUpdate() < 1)
      {
        throw new NoSuchEntityException("Row does not exist");
      }
      statement.close();
      statement = null;

      // Ok, now we have added the row, we can set the clob data....
      // 1: lock the row...
      statement = connection.prepareStatement( "SELECT XML FROM CONTENT
WHERE DOCUMENTID = ? FOR UPDATE" ) ;
      statement.setString(1, documentid);
      ResultSet rslt = statement.executeQuery() ;
      if( rslt.next() )
      {
        CLOB cl = ((OracleResultSet)rslt).getCLOB( 1 ) ;
        Writer wr = cl.getCharacterOutputStream() ;
        wr.write( xml.toString() );
        wr.close();
      }
      rslt.close();
      rslt = null ;
      statement.close() ;
      statement = null ;
      connection.close();
      connection = null;

===============================

And this is the exception thrown by jBoss when I try to read an entity bean
in (findByPrimaryKey)

[EmbeddedTomcat] path="" :jsp: init
[Content] BEAN EXCEPTION:null
[Content] java.lang.ClassCastException:
org.jboss.minerva.jdbc.ResultSetInPool
[Content]       at entity.ContentBeanBMP.ejbStore(ContentBeanBMP.java:269)
[Content]       at java.lang.reflect.Method.invoke(Native Method)
[Content]       at
org.jboss.ejb.plugins.BMPPersistenceManager.storeEntity(BMPPersistenceManage
r.java:331)
[Content]       at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor$InstanceSynchronizati
on.beforeCompletion(EntitySynchronizationInterceptor.java:343)
[Content]       at
org.jboss.tm.TxCapsule.doBeforeCompletion(TxCapsule.java:1104)
[Content]       at org.jboss.tm.TxCapsule.commit(TxCapsule.java:278)
[Content]       at
org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:76)
[Content]       at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:318)
[Content]       at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
[Content]       at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:14
4)
[Content]       at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
[Content]       at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:323)
[Content]       at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:237)
[Content]       at
org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.java:14
6)
[Content]       at $Proxy20.getDocumentid(Unknown Source)
[Content]       at entity.TNSContentEjb.select(TNSContentEjb.java:186)
[Content]       at java.lang.reflect.Method.invoke(Native Method)
[Content]       at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java:472)
[Content]       at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java:87)
[Content]       at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:133)
[Content]       at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:458)
[Content]       at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
[Content]       at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:14
4)
[Content]       at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
[Content]       at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:271)
[Content]       at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:163)
[Content]       at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:228)
[Content]       at
org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(Stateless
SessionProxy.java:152)
[Content]       at $Proxy18.select(Unknown Source)
[Content]       at entity.TNSContentBean.select(TNSContentBean.java:224)
[Content]       at
_0002fTNSContentEdit_0002ejspTNSContentEdit_jsp_1._jspService(_0002fTNSConte
ntEdit_0002ejspTNSContentEdit_jsp_1.java:162)
[Content]       at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
[Content]       at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[Content]       at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:177)
[Content]       at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
[Content]       at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
[Content]       at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[Content]       at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
[Content]       at org.apache.tomcat.core.Handler.service(Handler.java:286)
[Content]       at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
[Content]       at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
9)
[Content]       at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:745)
[Content]       at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
[Content]       at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:407)
[Content]       at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
[Content]       at java.lang.Thread.run(Thread.java:484)
[EmbeddedTomcat] Ctx(  ): Exception in: R(  + /TNSContentEdit.jsp + null)
javax.servlet.ServletException
        at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:453)
        at
_0002fTNSContentEdit_0002ejspTNSContentEdit_jsp_1._jspService(_0002fTNSConte
ntEdit_0002ejspTNSContentEdit_jsp_1.java:278)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:177)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
9)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:745)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:407)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)
Root cause:
java.lang.NullPointerException
        at
_0002fTNSContentEdit_0002ejspTNSContentEdit_jsp_1._jspService(_0002fTNSConte
ntEdit_0002ejspTNSContentEdit_jsp_1.java:168)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:177)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
9)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:745)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:407)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)


--
http://www.teamnetsol.com
**********************************************************************
  This email and any files transmitted with it are confidential and
 intended solely for the use of the individual or entity to whom they
are addressed.  If you have received this email in error please notify
                         [EMAIL PROTECTED]

Team Netsol Limited is incorporated in England and Wales under company
number 3697370.  Its registered office is at 2-4 Little Peter Street,
               Manchester M15 4PS. +44 (0)161 834 8342
**********************************************************************




--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
List Help?:          [EMAIL PROTECTED]

Reply via email to