Hi,

How do you determine if the data is in the database?  My recent experience
is that isql is very flakey, I couldn't see results in it that my jboss
client could see.  I have an ant-based sql-xml task however that
consistently sees just what the jboss client sees.  You could try ant's
sqlexec task or I would be happy to send you mine.

Remember that Firebird/Interbase by default has snapshot transaction
isolation - not read committed.  In particular this means that if you start
a transaction in isql-- I'm not sure if this happens when you log in or
execute a select statement-- you will see noones updates until you commit
(after your read only query.  Takes a little getting used to-- but allows
for accurate reports).

On the other hand, the odd results I was seeing seemed to go beyond this
transaction isolation behavior.

I'm curious if this provides a consitent view of the data for you.

Thanks
David Jencks
On 2001.03.27 12:36:57 -0500 Michael Quigley wrote:
> Torsten,
> 
> > We are currently using Interbase in a pre-production environment.
> > (an e-commerce mall) So far it performs acceptable, but because
> > we are only in a test phase now there is a chance we will have to
> > switch to Oracle... i'll let you know if you like?!
> 
> Have you noticed any peculiarities with your CMP beans and transactions?
> I'm
> running InterBase 6.0 (not 6.0.1) on Linux, with InterClient version 2.0.
> So
> far I've noticed very intermittent and strange behavior with my CMP
> beans--it almost seems like the transactions aren't committing.
> 
> I've got a CMP entity bean named Account, which contains 4 fields. I have
> a
> client which creates 10 Account instances and terminates. Even if the
> client
> appears to execute properly and exits, I sometimes end up with no new
> Account instances showing up in the database. And other times they will
> show
> up. It's the oddest thing. I can't find an explanation for the behavior.
> 
> I'm going to upgrade my InterBase installation to 6.0.1 and give it
> another
> try. My JBoss 2.1 installation is the integrated JBoss/Tomcat integration
> off the jboss.org site. At startup time it shows:
> 
> [Default] JBoss 2.1-BETA Started in 0m:15s
> 
> Is 2.1-BETA the current version?
> 
> Here are some excerpts from my configuration:
> 
> ---- jboss.jcml ----
> 
>   <mbean code="org.jboss.jdbc.JdbcProvider"
> name="DefaultDomain:service=JdbcProvider">
>      <attribute name="Drivers">interbase.interclient.Driver</attribute>
>   </mbean>
> 
>   <mbean code="org.jboss.jdbc.XADataSourceLoader"
> name="DefaultDomain:service=XADataSource
> ,name=InterbaseDS">
>     <attribute name="PoolName">InterbaseDS</attribute>
>     <attribute
> name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceIm
> pl</attribute>
>     <attribute name="Properties"/>
>     <attribute
> name="URL">jdbc:interbase://blackangel/d1/db/bmk.gdb</attribute>
>     <attribute name="GCMinIdleTime">1200000</attribute>
>     <attribute name="JDBCUser">sysdba</attribute>
>     <attribute name="Password">xxxx</attribute>
>     <attribute name="MaxSize">4</attribute>
>     <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">4</attribute>
>   </mbean>
> 
> ---- ejb-jar.xml ----
> 
> <ejb-jar>
>   <enterprise-beans>
>     <entity>
>       <description>Account</description>
>       <display-name>Account</display-name>
> 
>       <ejb-name>Account</ejb-name>
>       <home>com.quigley.dashboard.ejb.AccountHome</home>
>       <remote>com.quigley.dashboard.ejb.Account</remote>
>       <ejb-class>com.quigley.dashboard.ejb.AccountBean</ejb-class>
> 
>       <persistence-type>Container</persistence-type>
>       <prim-key-class>com.quigley.dashboard.ejb.AccountPK</prim-key-class>
>       <reentrant>False</reentrant>
> 
>       <cmp-field>
>         <field-name>id</field-name>
>       </cmp-field>
> 
>       <cmp-field>
>         <field-name>login</field-name>
>       </cmp-field>
> 
>       <cmp-field>
>         <field-name>password</field-name>
>       </cmp-field>
> 
>       <cmp-field>
>         <field-name>description</field-name>
>       </cmp-field>
>     </entity>
>   </enterprise-beans>
> 
>   ...
> 
>   <assembly-descriptor>
>     <container-transaction>
>       <method>
>         <ejb-name>Account</ejb-name>
>         <method-name>*</method-name>
>       </method>
> 
>       <trans-attribute>RequiresNew</trans-attribute>
>     </container-transaction>
>   </assembly-descriptor>
> </ejb-jar>
> 
> ---- jaws.xml ----
> 
> <jaws>
>   <datasource>InterbaseDS</datasource>
>   <type-mapping>InterBase</type-mapping>
> 
>   <enterprise-beans>
> 
>     <!-- ====== Account =========================================== -->
>     <entity>
>       <ejb-name>Account</ejb-name>
>       <table-name>ACCOUNT</table-name>
>       <create-table>false</create-table>
> 
>       <cmp-field>
>         <field-name>id</field-name>
>         <column-name>ACCT_ID</column-name>
>         <jdbc-type>INTEGER</jdbc-type>
>         <sql-type>INTEGER</sql-type>
>       </cmp-field>
> 
>       <cmp-field>
>         <field-name>login</field-name>
>         <column-name>ACCT_LOGIN</column-name>
>         <jdbc-type>VARCHAR</jdbc-type>
>         <sql-type>VARCHAR(64)</sql-type>
>       </cmp-field>
> 
>       <cmp-field>
>         <field-name>password</field-name>
>         <column-name>ACCT_PASSWORD</column-name>
>         <jdbc-type>VARCHAR</jdbc-type>
>         <sql-type>VARCHAR(64)</sql-type>
>       </cmp-field>
> 
>       <cmp-field>
>         <field-name>description</field-name>
>         <column-name>ACCT_DESCRIPTION</column-name>
>         <jdbc-type>VARCHAR</jdbc-type>
>         <sql-type>VARCHAR(128)</sql-type>
>       </cmp-field>
>     </entity>
>   </enterprise-beans>
> </jaws>
> 
> ---- AccountClient.java ----
> 
> ...
> public class AccountClient {
> 
>     /*
>      * JNDI Context.
>      */
>     static Context jndiCtx = null;
> 
> 
> //--------------------------------------------------------------------------
> 
>     /*
>      * Main.
>      */
>     public static void main(String[] arg) throws Exception {
>         // Create a JNDI Context.
>         jndiCtx = new InitialContext();
> 
>         // Find the SequenceHome in JNDI.
>         SequenceHome seqHome = (SequenceHome) jndiCtx.lookup("Sequence");
> 
>         // Create a new Sequence EJB instance.
>         Sequence seq = seqHome.create();
> 
>         // Find the AccountHome in JNDI.
>         AccountHome accHome = (AccountHome) jndiCtx.lookup("Account");
> 
>         // Iterate 100 times.
>         for(int i = 0; i < 10; i++) {
> 
>             // Allocate a new ID.
>             int id = (int) seq.allocAccountId();
> 
>             // Message.
>             System.out.println("Instance #" + i + ": " + id);
> 
>             // Create a new Account EJB instance.
>             Account a = accHome.create(id);
> 
>             // Create an AccountHolder with the data.
>             a.setHolder(new AccountHolder(id, "login" + i, "password" +
> i,
>                                           "description" + i));
>         }
> 
>         // Remove the Sequence EJB instance.
>         seq.remove();
>     }
> }
> 
> 
> _______________________________________________
> 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