Sorry for the incomplete details... Here it is:
I am using:
- JBoss 2.0 (don't know about PR4, CVS etc. What are they? How do I tell?)
- JDK 1.3
- Interbase Database v 3.12
- Windows NT 4.0 SP5
I do not see lines like "committing" or "rolling back" on the console. Here is
the console output:
________________________________________________________________________________
[Console logging] Logging started
[Classpath] Added directory:file:/D:/Java/JBoss/log/
[Info] Java version: 1.3.0,Sun Microsystems Inc.
[Info] Java VM: Java HotSpot(TM) Client VM 1.3.0-C,Sun Microsystems Inc.
[Info] System: Windows NT 4.0,x86
[Classpath] Added directory:file:/D:/Java/JBoss/db/
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/activation.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/awt.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/dynaserver.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/ejb.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/ejxeditor.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/ejxejb.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/ejxjaws.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/ejxjboss.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/hsql.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/idb.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/interclient.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/jboss.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/jdbc2_0-stdext.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/jmxtools.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/jndi.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/jnpserver.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/jpl-util-0_5b.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/jta-spec1_0_1.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/mail.jar
[Classpath] Added library:file:/D:/Java/JBoss/lib/ext/xml.jar
[JDBC] Loaded JDBC-driver:org.hsql.jdbcDriver
[JDBC] Loaded JDBC-driver:jdbc.idbDriver
[JDBC] Loaded JDBC-driver:interbase.interclient.Driver
[Webserver] Initializing
[Webserver] Initialized
[Hypersonic] Initializing
[Hypersonic] Server 1.4 is running
[Hypersonic] Database started
[Hypersonic] Initialized
[Naming] Initializing
[Naming] Naming started on port 1099
[Naming] Initialized
[Transaction manager] Initializing
InstantDB - Version 3.12
[Transaction manager] Initialized
[DataSource] Initializing
[DataSource] Connection pool for jdbc:idb:../conf/instantdb.properties bound to
InstantDB
[DataSource] Copyright (c) 1997-1999 Instant Computer Solutions Ltd.
[DataSource] Initialized
[DataSource] Initializing
[DataSource] Connection pool for jdbc:HypersonicSQL:hsql://[For Security,
deleted My IP Address here] bound to Hypersonic
[DataSource] Initialized
[XADataSource] Initializing
[XADataSource] Initialized
[Container factory] Initializing
[Container factory] Initialized
[Auto deploy] Watching D:\Java\JBoss\deploy
[Auto deployer] Initializing
[Auto deployer] Initialized
[JMX RMI Adaptor] Initializing
[JMX RMI Adaptor] Initialized
[Configuration] Initializing
[Configuration] Initialized
[Configuration] MaxActiveClientCount set to 10 in Adaptor:name=html
[Configuration] Port set to 8082 in Adaptor:name=html
[Configuration] LibraryDirectory set to D:\Java\JBoss\bin in
DefaultDomain:service=MLet
[Configuration] URL set to jdbc:interbase://[For Security, deleted URL here] in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] GCMinIdleTime set to 1200000 in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] MaxSize set to 50 in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] Password set to masterkey in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] ShrinkPercent set to 0.33 in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] GCEnabled set to false in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] TimestampUsed set to false in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] Blocking set to false in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] GCInterval set to 120000 in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] JDBCUser set to sysdba in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] MinSize set to 5 in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] ShrinkMinIdleTime set to 600000 in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] ShrinkingEnabled set to false in
DefaultDomain:service=XADataSource,name=InterbasePool
[Configuration] Format set to [{2}] {4} in
DefaultDomain:service=Logging,type=Console
[Configuration] Port set to 8083 in DefaultDomain:service=Webserver
[Configuration] VerifyDeployments set to false in EJB:service=ContainerFactory
[XADataSource] Starting
[XADataSource] XA Connection pool InterbasePool bound to xa.InterbasePool
[Transaction manager] Starting
[Transaction manager] Started
[DataSource] Starting
[DataSource] Started
[Webserver] Starting
[Webserver] Codebase set to http://[For Security, deleted URL here]/
[Webserver] Started webserver on port 8083
[Webserver] Started
[Auto deployer] Starting
[Auto deploy] Auto deploy of file:/D:/Java/JBoss/deploy/FuelPath.jar
[Container factory] Deploying:file:/D:/Java/JBoss/deploy/FuelPath.jar
[XADataSource] Started
[Container factory] Deploying TankBean
[Container factory] Deploying LogBean
[Container factory] Deploying DatabaseCollectionBean
[Container factory] Deploying JdbcAdapterBean
[Container factory] Binding an EJBReference ejb/JdbcAdapterBean
[Container factory] Binding ejb/JdbcAdapterBean to external JNDI source:
JdbcAdapterBean
[Container factory] Binding an EJBReference ejb/TankBean
[Container factory] Binding ejb/TankBean to external JNDI source: TankBean
[Container factory] Binding an EJBReference ejb/JdbcAdapterBean
[Container factory] Binding ejb/JdbcAdapterBean to external JNDI source:
JdbcAdapterBean
[Container factory] Binding an EJBReference ejb/JdbcAdapterBean
[Container factory] Binding ejb/JdbcAdapterBean to external JNDI source:
JdbcAdapterBean
[Container factory] Bound TankBean to TankBean
[Default] Passivator started
[Container factory] Bound DatabaseCollectionBean to DatabaseCollectionBean
[Container factory] Bound LogBean to LogBean
[Default] Passivator started
[Container factory] Bound JdbcAdapterBean to JdbcAdapterBean
[Container factory] Deployed application:
file:/D:/Java/JBoss/deploy/FuelPath.jar
[Auto deploy] Auto deploy of file:/D:/Java/JBoss/deploy/TestBeans.jar
[Container factory] Deploying:file:/D:/Java/JBoss/deploy/TestBeans.jar
[Container factory] Deploying LogBean
[Container factory] Deploying TankBean
[Container factory] Deploying JdbcAdapterBean
[Container factory] Deploying DatabaseCollectionBean
[Container factory] Binding an EJBReference ejb/JdbcAdapterBean
[Container factory] Binding ejb/JdbcAdapterBean to external JNDI source:
JdbcAdapterBean
[Container factory] Binding an EJBReference ejb/JdbcAdapterBean
[Container factory] Binding ejb/JdbcAdapterBean to external JNDI source:
JdbcAdapterBean
[Container factory] Binding an EJBReference ejb/TankBean
[Container factory] Binding ejb/TankBean to external JNDI source: TankBean
[Container factory] Binding an EJBReference ejb/JdbcAdapterBean
[Container factory] Binding ejb/JdbcAdapterBean to external JNDI source:
JdbcAdapterBean
[Container factory] Bound TankBean to TankBean
[Default] Passivator started
[Container factory] Bound DatabaseCollectionBean to DatabaseCollectionBean
[Container factory] Bound LogBean to LogBean
[Default] Passivator started
[Container factory] Bound JdbcAdapterBean to JdbcAdapterBean
[Container factory] Deployed application:
file:/D:/Java/JBoss/deploy/TestBeans.jar
[Auto deployer] Started
[Container factory] Starting
[Container factory] Started
[Hypersonic] Starting
[Hypersonic] Started
[Naming] Starting
[Naming] Started
[DataSource] Starting
[DataSource] Started
[JMX RMI Adaptor] Starting
[JMX RMI Adaptor] Started
[Default] Shutdown hook added
[Default] jBoss 2.0 Started
[Default] org.jboss.tm.TxManager@648016
[JdbcAdapterBean] Calling the next invoker in runInvokeHome
[JdbcAdapterBean] Calling the next invoker in runInvoke
[JdbcAdapterBean] JdbcAdapterEJB: Executing Select SQL...
[JdbcAdapterBean]
***
JdbcAdapterEJB: execSelectSQL(): Single-quoted SQL =
Select * from tank
***
[JdbcAdapterBean] JdbcAdapterEJB: Finished executing Select SQL.
[JdbcAdapterBean] JdbcAdapterEJB: getDataFromStatement: Result Set Present
[JdbcAdapterBean] JdbcAdapterEJB: ResultSet Present and Not Null.
[Default] org.jboss.tm.TxManager@648016
[JdbcAdapterBean] Calling the next invoker in runInvokeHome
[JdbcAdapterBean] Calling the next invoker in runInvoke
[JdbcAdapterBean] JdbcAdapterEJB: Executing Change SQL...
[JdbcAdapterBean]
***
JdbcAdapterEJB: execSelectSQL(): Single-quoted SQL =
Insert into tank Values('4', 'GAS', 'HITEST', 3000.00, 'JdbcTest')
***
[JdbcAdapterBean] JdbcAdapterEJB: Finished executing Change SQL.
[Default] org.jboss.tm.TxManager@648016
[JdbcAdapterBean] Calling the next invoker in runInvokeHome
[JdbcAdapterBean] Calling the next invoker in runInvoke
[JdbcAdapterBean] JdbcAdapterEJB: Executing Select SQL...
[JdbcAdapterBean]
***
JdbcAdapterEJB: execSelectSQL(): Single-quoted SQL =
Select * from tank
***
[JdbcAdapterBean] JdbcAdapterEJB: Finished executing Select SQL.
[JdbcAdapterBean] JdbcAdapterEJB: getDataFromStatement: Result Set Present
[JdbcAdapterBean] JdbcAdapterEJB: ResultSet Present and Not Null.
_________________________________________________________________________
My ejb-jar.xml file is as follows:
<?xml version="1.0" encoding="Cp1252"?>
<ejb-jar>
<description>JdbcAdapterBean, LogBean, TankBean,
DatabaseCollectionBean</description>
<display-name>FuelPathJAR</display-name>
<enterprise-beans>
<session>
<description>A Session bean for connections to the database, and for
executing SQL queries</description>
<display-name>JdbcAdapter Session Bean</display-name>
<ejb-name>JdbcAdapterBean</ejb-name>
<home>[company package hierarchy here].persistence.JdbcAdapterHome</home>
<remote>[company package hierarchy here].persistence.JdbcAdapter</remote>
<ejb-class>[company package hierarchy
here].persistence.JdbcAdapterEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
<session>
<description>Retrieves all rows from a Table. Currently supports Tank and
Log.</description>
<display-name>DatabaseCollectionBean</display-name>
<ejb-name>DatabaseCollectionBean</ejb-name>
<home>[company package hierarchy
here].persistence.DatabaseCollectionHome</home>
<remote>[company package hierarchy
here].persistence.DatabaseCollection</remote>
<ejb-class>[company package hierarchy
here].persistence.DatabaseCollectionEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
<ejb-ref>
<description>References the JdbcAdapterBean, a Session bean for
connections to the database, and for executing SQL queries</description>
<ejb-ref-name>ejb/JdbcAdapterBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>[company package hierarchy
here].persistence.JdbcAdapterHome</home>
<remote>[company package hierarchy
here].persistence.JdbcAdapter</remote>
<ejb-link>JdbcAdapterBean</ejb-link>
</ejb-ref>
<ejb-ref>
<description>Creates individual TankBeans</description>
<ejb-ref-name>ejb/TankBean</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>[company package hierarchy here].persistence.tank.TankHome</home>
<remote>[company package hierarchy here].persistence.tank.Tank</remote>
<ejb-link>TankBean</ejb-link>
</ejb-ref>
</session>
<entity>
<description>Tank table</description>
<display-name>TankBean</display-name>
<ejb-name>TankBean</ejb-name>
<home>[company package hierarchy here].persistence.tank.TankHome</home>
<remote>[company package hierarchy here].persistence.tank.Tank</remote>
<ejb-class>[company package hierarchy
here].persistence.tank.TankEJB</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>[company package hierarchy
here].persistence.tank.TankPK</prim-key-class>
<reentrant>False</reentrant>
<ejb-ref>
<description>References the JdbcAdapterBean, a Session bean for
connections to the database, and for executing SQL queries</description>
<ejb-ref-name>ejb/JdbcAdapterBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>[company package hierarchy
here].persistence.JdbcAdapterHome</home>
<remote>[company package hierarchy
here].persistence.JdbcAdapter</remote>
<ejb-link>JdbcAdapterBean</ejb-link>
</ejb-ref>
</entity>
<entity>
<description>Logger stuff</description>
<display-name>LogBean</display-name>
<ejb-name>LogBean</ejb-name>
<home>[company package hierarchy here].persistence.log.LogHome</home>
<remote>[company package hierarchy here].persistence.log.Log</remote>
<ejb-class>[company package hierarchy
here].persistence.log.LogEJB</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>[company package hierarchy
here].persistence.log.LogPK</prim-key-class>
<reentrant>False</reentrant>
<ejb-ref>
<description>References the JdbcAdapterBean, a Session bean for
connections to the database, and for executing SQL queries</description>
<ejb-ref-name>ejb/JdbcAdapterBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>[company package hierarchy
here].persistence.JdbcAdapterHome</home>
<remote>[company package hierarchy
here].persistence.JdbcAdapter</remote>
<ejb-link>JdbcAdapterBean</ejb-link>
</ejb-ref>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<description>Container transaction for JdbcAdapter Session
Bean</description>
<method>
<ejb-name>TankBean</ejb-name>
<method-intf>Remote</method-intf>
<method-name>remove</method-name>
<method-params />
</method>
<method>
<ejb-name>JdbcAdapterBean</ejb-name>
<method-intf>Remote</method-intf>
<method-name>remove</method-name>
<method-params />
</method>
<method>
<ejb-name>JdbcAdapterBean</ejb-name>
<method-intf>Home</method-intf>
<method-name>create</method-name>
<method-params />
</method>
<method>
<ejb-name>LogBean</ejb-name>
<method-intf>Remote</method-intf>
<method-name>remove</method-name>
<method-params />
</method>
<method>
<ejb-name>DatabaseCollectionBean</ejb-name>
<method-intf>Remote</method-intf>
<method-name>remove</method-name>
<method-params />
</method>
<method>
<ejb-name>DatabaseCollectionBean</ejb-name>
<method-intf>Home</method-intf>
<method-name>create</method-name>
<method-params />
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
<ejb-client-jar>FuelPath.jar</ejb-client-jar>
</ejb-jar>
__________________________________________________________
My jboss.xml is as follows:
<?xml version="1.0" encoding="Cp1252"?>
<jboss>
<secure>false</secure>
<container-configurations>
<container-configuration
configuration-class="org.jboss.ejb.deployment.EntityContainerConfiguration">
<container-name>Default CMP EntityBean</container-name>
<call-logging>false</call-logging>
<container-invoker>org.jboss.ejb.plugins.jrmp13.server.JRMPContainerInvoker</container-invoker>
<instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
<instance-cache>org.jboss.ejb.plugins.RandomEntityInstanceCache</instance-cache>
<persistence-manager>org.jboss.ejb.plugins.jaws.JAWSPersistenceManager</persistence-manager>
<transaction-manager>org.jboss.tm.TxManager</transaction-manager>
<container-invoker-conf>
<Optimized>false</Optimized>
</container-invoker-conf>
<container-cache-conf>
<PassivationInterval>20</PassivationInterval>
<MaximumSize>100</MaximumSize>
<MinimumSize>10</MinimumSize>
</container-cache-conf>
<container-pool-conf>
<MaximumSize>100</MaximumSize>
<MinimumSize>10</MinimumSize>
</container-pool-conf>
<commit-option>B</commit-option>
</container-configuration>
<container-configuration
configuration-class="org.jboss.ejb.deployment.StatelessSessionContainerConfiguration">
<container-name>Default Stateless SessionBean</container-name>
<call-logging>false</call-logging>
<container-invoker>org.jboss.ejb.plugins.jrmp13.server.JRMPContainerInvoker</container-invoker>
<instance-pool>org.jboss.ejb.plugins.StatelessSessionInstancePool</instance-pool>
<instance-cache></instance-cache>
<persistence-manager></persistence-manager>
<transaction-manager>org.jboss.tm.TxManager</transaction-manager>
<container-invoker-conf>
<Optimized>false</Optimized>
</container-invoker-conf>
<container-pool-conf>
<MaximumSize>100</MaximumSize>
<MinimumSize>10</MinimumSize>
</container-pool-conf>
</container-configuration>
<container-configuration
configuration-class="org.jboss.ejb.deployment.StatefulSessionContainerConfiguration">
<container-name>Default Stateful SessionBean</container-name>
<call-logging>false</call-logging>
<container-invoker>org.jboss.ejb.plugins.jrmp13.server.JRMPContainerInvoker</container-invoker>
<instance-pool>org.jboss.ejb.plugins.StatefulSessionInstancePool</instance-pool>
<instance-cache>org.jboss.ejb.plugins.NoPassivationStatefulSessionInstanceCache</instance-cache>
<persistence-manager>org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager</persistence-manager>
<transaction-manager>org.jboss.tm.TxManager</transaction-manager>
<container-invoker-conf>
<Optimized>false</Optimized>
</container-invoker-conf>
</container-configuration>
<container-configuration
configuration-class="org.jboss.ejb.deployment.EntityContainerConfiguration">
<container-name>Default BMP EntityBean</container-name>
<call-logging>false</call-logging>
<container-invoker>org.jboss.ejb.plugins.jrmp13.server.JRMPContainerInvoker</container-invoker>
<instance-pool>org.jboss.ejb.plugins.EntityInstancePool</instance-pool>
<instance-cache>org.jboss.ejb.plugins.RandomEntityInstanceCache</instance-cache>
<persistence-manager>org.jboss.ejb.plugins.BMPPersistenceManager</persistence-manager>
<transaction-manager>org.jboss.tm.TxManager</transaction-manager>
<container-invoker-conf>
<Optimized>false</Optimized>
</container-invoker-conf>
<container-cache-conf>
<PassivationInterval>20</PassivationInterval>
<MaximumSize>100</MaximumSize>
<MinimumSize>10</MinimumSize>
</container-cache-conf>
<container-pool-conf>
<MaximumSize>100</MaximumSize>
<MinimumSize>10</MinimumSize>
</container-pool-conf>
<commit-option>C</commit-option>
</container-configuration>
</container-configurations>
<resource-managers>
<resource-manager res-class="org.jboss.ejb.deployment.JDBCResource">
<res-name>InterbasePool</res-name>
<res-jndi-name>xa.InterbasePool</res-jndi-name>
</resource-manager>
</resource-managers>
<enterprise-beans>
<session>
<ejb-name>DatabaseCollectionBean</ejb-name>
<jndi-name>DatabaseCollectionBean</jndi-name>
<configuration-name>Default Stateless SessionBean</configuration-name>
<ejb-ref>
<ejb-ref-name>ejb/TankBean</ejb-ref-name>
<jndi-name>TankBean</jndi-name>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/JdbcAdapterBean</ejb-ref-name>
<jndi-name>JdbcAdapterBean</jndi-name>
</ejb-ref>
</session>
<session>
<ejb-name>JdbcAdapterBean</ejb-name>
<jndi-name>JdbcAdapterBean</jndi-name>
<configuration-name>Default Stateless SessionBean</configuration-name>
</session>
<entity>
<ejb-name>LogBean</ejb-name>
<jndi-name>LogBean</jndi-name>
<configuration-name>Default BMP EntityBean</configuration-name>
<ejb-ref>
<ejb-ref-name>ejb/JdbcAdapterBean</ejb-ref-name>
<jndi-name>JdbcAdapterBean</jndi-name>
</ejb-ref>
</entity>
<entity>
<ejb-name>TankBean</ejb-name>
<jndi-name>TankBean</jndi-name>
<configuration-name>Default BMP EntityBean</configuration-name>
<ejb-ref>
<ejb-ref-name>ejb/JdbcAdapterBean</ejb-ref-name>
<jndi-name>JdbcAdapterBean</jndi-name>
</ejb-ref>
</entity>
</enterprise-beans>
</jboss>
____________________________________________________________________________________
Thanks for your help.
- Ashish
Aaron Mulder <[EMAIL PROTECTED]> on 09/07/2000 11:57:19 AM
Please respond to "jBoss Developer" <[EMAIL PROTECTED]>
To: jBoss Developer <[EMAIL PROTECTED]>
cc: (bcc: Ashish Majmundar/IC/Kyrus)
Subject: Re: [jBoss-Dev] Transactions not being committed...
Which version of jBoss are you using (PR4, CVS, 1.0, etc.)? Have
you included container-transaction tags in your ejb-jar.xml? What
database are you using? Do you see lines of console output that say
things like "committing" or "rolling back"? Perhaps you should just post
your ejb-jar.xml and console output.
Aaron
On Thu, 7 Sep 2000 [EMAIL PROTECTED] wrote:
> Hi,
>
> I am encountering a problem where the transactions are not being committed to
> the
> database. When I create Entity beans I see the corresponding INSERT
statements.
> In
> fact, if try to find the beans (via some Select clause) they show up (i.e.
jboss
> finds
> those beans), but that data is never present in the database. All the inserts,
> updates,
> deletes are being done by jboss, but never being reflected in the database. If
I
> shut
> down jboss and restart, none of the changes is present in the database. How
can
> I
> commit the changes to the database everytime the transaction gets completed?
>
> I have searched the website, but didn't find anything there. I have tried all
> the commit
> options in the jboss.xml file (A,B,C). I'm sure I'm missing something real
> basic.
>
> Please help (please, please)
>
> Thanks,
>
> - Ashish
>
>
>