I work on java project. It accesses MySQL database and is deployed in Jboss 7. I need to implement the database transaction inside the project. Event though I modified java code, it was not worked. I looked into Jboss 7 changes, related to database transaction and could not find the any changes.
Then I developed a sample java project that accesses the MySQL database. It is deployed in Jboss 7. Database was created, using XAMPP. By default, it set InnoDB as database engine. It worked properly. Whilst testing on that project, I changed the database engine to MyISAM. Here, I could notice, database transaction did not work.
With that perception, I searched on database engines in MySQL. It gives the better conclusion. MySQL uses two major database engines. Those are InnoDB and MyISAM. They have considerable major changes. One of them is based on database transaction. InnoDB supports transaction and MyISAM does not.
Again, I back to the real project. Its database used two types of engines. Initial database is built with InnoDB. Later, one of team member of made some changes for few tables. Those engine has been set MyISAM. Therefore, the real project does not perform the database transactions. These modifications has been made on the earlier version of MySQL. Therefore it set the MyISAM for engine.
By default, the newer version of MySQL sets InnoDB as the database engine. Earlier versions sets MyISAM database.