Hi,
check your transaction attribute for your bean methods, have you assigned
one? what is it? (Should read required for *)
Burkhard
----- Original Message -----
From: "ralph" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, July 16, 2001 10:33 AM
Subject: Re: [JBoss-user] cloudscape only


> Thanks. Very important tip. ( I'm sure it's in the manual. )
>
> However, I still have the same problem which I tried to solve this way:
>
> I run a jboss client application which reads some Cloudscape tables and
> then writes a record to another table.
> The reading works okay.
> The fact that running the same program twice gives an error that the
> primary key isn't unique indicates that writing the record also works
> somehow. But whenever I access the database directly ( SELECT * FROM ... )
> the record isn't found. Also after shutting down jBoss.
>
> After restarting jBoss the same sequence of events takes place. Somehow
the
> record is cached by jBoss but never written to the database.
>
>
> This is the relevant stuff from my jboss.jcml:
>
>   <!-- JNDI -->
>   <mbean code="org.jboss.naming.NamingService"
> name="DefaultDomain:service=Naming">
>     <attribute name="Port">1100</attribute>
>   </mbean>
>   <mbean code="org.jboss.naming.JNDIView"
> name="DefaultDomain:service=JNDIView" />
>
>
>   <!-- JDBC -->
>   <mbean code="org.jboss.jdbc.JdbcProvider"
> name="DefaultDomain:service=JdbcProvider">
>      <attribute
> name="Drivers">COM.cloudscape.core.RmiJdbcDriver</attribute>
>   </mbean>
>
>
>   <mbean code="org.jboss.jdbc.XADataSourceLoader"
> name="DefaultDomain:service=XADataSource,name=DefaultDS">
>     <attribute name="PoolName">DefaultDS</attribute>
>     <attribute
>
name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceIm
> pl</attribute>
>     <attribute name="Properties"></attribute>
>     <attribute
>
name="URL">jdbc:rmi://localhost:1099/jdbc:cloudscape:CloudscapeDB;create=tr
> ue</attribute>
>     <attribute name="GCMinIdleTime">1200000</attribute>
>     <attribute name="JDBCUser">sa</attribute>
>     <attribute name="MaxSize">10</attribute>
>     <attribute name="Password" />
>     <attribute name="GCEnabled">false</attribute>
>     <attribute name="InvalidateOnError">false</attribute>
>     <attribute name="TimestampUsed">false</attribute>
>     <attribute name="Blocking">true</attribute>
>     <attribute name="GCInterval">120000</attribute>
>     <attribute name="IdleTimeout">1800000</attribute>
>     <attribute name="IdleTimeoutEnabled">false</attribute>
>     <attribute name="LoggingEnabled">false</attribute>
>     <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
>     <attribute name="MinSize">0</attribute>
>   </mbean>
>
>
>   <mbean code="org.jboss.jdbc.XADataSourceLoader"
> name="DefaultDomain:service=XADataSource,name=Cloudscape">
>     <attribute name="PoolName">Cloudscape</attribute>
>     <attribute
>
name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceIm
> pl</attribute>
>     <attribute name="Properties"></attribute>
>     <attribute
>
name="URL">jdbc:rmi://localhost:1099/jdbc:cloudscape:CloudscapeDB;create=tr
> ue</attribute>
>     <attribute name="GCMinIdleTime">1200000</attribute>
>     <attribute name="JDBCUser" />
>     <attribute name="MaxSize">10</attribute>
>     <attribute name="Password" />
>     <attribute name="GCEnabled">false</attribute>
>     <attribute name="InvalidateOnError">false</attribute>
>     <attribute name="TimestampUsed">false</attribute>
>     <attribute name="Blocking">true</attribute>
>     <attribute name="GCInterval">120000</attribute>
>     <attribute name="IdleTimeout">1800000</attribute>
>     <attribute name="IdleTimeoutEnabled">false</attribute>
>     <attribute name="LoggingEnabled">false</attribute>
>     <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
>     <attribute name="MinSize">0</attribute>
>   </mbean>
>
>
> And here my jboss.xml:
>
> <jboss>
>     <resource-manager>
>         <res-name>jdbc/ConferenceDB</res-name>
>         <res-jndi-name>java:/Cloudscape</res-jndi-name>
>     </resource-manager>
>     <container-configurations>
>         <container-configuration>
>             <container-name>Standard BMP EntityBean</container-name>
>             <commit-option>B</commit-option>
>         </container-configuration>
>     </container-configurations>
> </jboss
>
>
> This is the way I use the connection:
>
>   private String dbName = "java:comp/env/jdbc/ConferenceDB"; // tried also
> "java:/Cloudscape"
>
>   public void setEntityContext(EntityContext context) {
>     m_context = context;
>
>     try {
>       InitialContext initial = new InitialContext();
>       m_ds = (DataSource) initial.lookup( dbName );
>     } catch( NamingException xn ) {
>       m_ds = null;
>     }
>   }
>
>   private void makeConnection() throws SQLException {
>     System.out.println( "ConfB.makeConnection() - enter, m_con=" +
m_con );
>
>     m_con = m_ds.getConnection();
>
>     System.out.println( "ConfB.makeConnection() - leave, m_con=" +
m_con );
>   }
>
>
>   public String ejbCreate( ConferenceData cd ) throws CreateException {
>
>     System.out.println( "ConfB.ejbCreate( CD ) - enter" );
>     Timestamp t_start = new Timestamp( cd.startTime.getTime() );
>     try {
>       makeConnection();
>       insertRow(  cd.topic, cd.id, t_start, cd.duration, ... ) ;
>
>     } catch( Exception x ) {
>       throw new EJBException( "ConfB.ejbCreate(CD): " + x );
>     }
>     finally {
>       closeConnection();
>     }
>
>     id = cd.id; // pk
>     topic = cd.topic;
>     ...
>     return id;
>   }
>
>   public void ejbPostCreate( ConferenceData cd ){
>     System.out.println( "ConfB.ejbPostCreate( CD ) - enter" );
>   }
>
>   private void insertRow( String topic, String id,
>                           Timestamp start, short duration, ...  )
>     throws SQLException {
>
>     System.out.println( "ConfB.insertRow() - enter" );
>
>     PreparedStatement pstmt = null;
>     String insertStatement =
>       "INSERT INTO conference( topic, id, startTimeS, duration, " +
>       "moderator, modPasswd, modGroupPasswd, generalPasswd, " +
>       "hasWhiteboard, hasSlideScreen, hasTextChat, hasVoiceChat, " +
>       "status, type, creatorID, createTime, billingID ) " +
>       "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
>
>     try {
>       pstmt = m_con.prepareStatement( insertStatement );
>
>       pstmt.setString( 1, topic );
>       pstmt.setString( 2, id );
>
>         ....
>
>       pstmt.executeUpdate();
>     } catch( SQLException xs ){
>       throw new SQLException( "ConfB.insertRow(): " + xs );
>     }
>     finally {
>       if ( pstmt != null ) {
>         try {
>           pstmt.close();
>         } catch( Exception x ) { pstmt = null; }
>       }
>     }
>   }
>
>
>
>
>
> I'm sure it's a stupid mistake somewhere, but any hint would be
> appreciated.
>
> Thanks
> Ralph
>
>
> ----- Original Message -----
> From: Wei-ju Wu <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, July 16, 2001 12:28 PM
> Subject: Re: [JBoss-user] cloudscape only
>
>
> > Are you sure, you removed *every* reference to
> > Hypersonic ? Note that, if you run jboss once there
> > is a jboss-auto.jcml which also contains references
> > to the hypersql database.
> >
> > Be sure that jboss-auto.jcml only contains
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <server>
> > </server>
> >
> > If you have a version with an embedded JSP Engine
> > then check if you modified the configuration files in
> > the correct configuration directory, there are two in
> > this case (one is "default" the other one is "tomcat" or
> > "jetty")
> >
> > Hope that helps,
> >
> > Wei-ju
> >
> >
> > ----- Original Message -----
> > From: "ralph" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Monday, July 16, 2001 4:47 AM
> > Subject: [JBoss-user] cloudscape only
> >
> >
> > > I want to remove all databases from jboss and use only Cloudscape, but
> I
> > > didn't manage yet. I removed all references to Hypersonic and
InstantDB
> > > from jboss.jcml but still the server.log and messages to standard
> output
> > > say that Hypersonic and InstantDB servers are being started.
> > > Also the startup process hangs after the messages
> > > [Hypersonic] Server 1.4 is running
> > > [Hypersonic] Press [Ctrl]+[C] to abort.
> > >
> > > What is the problem? What causes jboss to start Hypersonic and
> InstantDB
> > > even after removing the entries from jboss.jcml ?
> > >
> > > Thanks
> > > Ralph
> > >
> > >
> > > _______________________________________________
> > > JBoss-user mailing list
> > > [EMAIL PROTECTED]
> > > http://lists.sourceforge.net/lists/listinfo/jboss-user
> >
> >
> > _______________________________________________
> > JBoss-user mailing list
> > [EMAIL PROTECTED]
> > http://lists.sourceforge.net/lists/listinfo/jboss-user
>
>
> _______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/jboss-user


_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to