Error 10999 - Failed to start new transaction...

Failed to start new transactions when updating the data by using JBoss as the application server and an error (error 10999) box pops up saying "Failed to start new transaction due to com.appeon.server.controller.ControllerException: javax.naming.NameNotFoundException: TransactionServiceLocal not bound" as shown in the figure below.

Figure 67. Error 10999 - failed to start new transaction

Error 10999 - failed to start new transaction


Cause: This is a known issue for using JBoss 5. You may encounter the following errors when JBoss is deploying the internal EJB component and saving the configuration files into the internal database localDB.script, which will result in EJB deployment failure, during launching the JBoss. In this situation, you will encounter the above "Error 10999..." error during updating the data in the Appeon application.

Caused by: org.hsqldb.HsqlException: length must be specified in type definition: VARBINARY
                at org.hsqldb.error.Error.error(Unknown Source)
            at org.hsqldb.error.Error.error(Unknown Source)
            at org.hsqldb.ParserDQL.readTypeDefinition(Unknown Source)
                at org.hsqldb.ParserDDL.readColumnDefinitionOrNull(Unknown Source)
                at org.hsqldb.ParserDDL.compileCreateTableBody(Unknown Source)
                at org.hsqldb.ParserDDL.compileCreateTable(Unknown Source)
                at org.hsqldb.ParserDDL.compileCreate(Unknown Source)
                at org.hsqldb.ParserCommand.compilePart(Unknown Source)
                at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
                at org.hsqldb.Session.executeDirectStatement(Unknown Source)
                at org.hsqldb.Session.execute(Unknown Source)
…

DEPLOYMENTS IN ERROR:
  Deployment "<UNKNOWN jboss.j2ee:jar=profileservice-secured.jar,name=SecureProfileService,service=EJB3>" is in error due to the following reason(s): ** UNRESOLVED Demands 'jboss.ejb:service=EJBTimerService' **, ** UNRESOLVED Demands 'jndi:SecureManagementView/remote-org.jboss.deployers.spi.management.ManagementView' **
  Deployment "jboss.ejb:persistencePolicy=database,service=EJBTimerService" is in error due to the following reason(s): org.hsqldb.HsqlException: length must be specified in type definition: VARBINARY, **ERROR**
  Deployment "<UNKNOWN jboss.j2ee:jar=profileservice-secured.jar,name=SecureManagementView,service=EJB3>" is in error due to the following reason(s): ** UNRESOLVED Demands 'jboss.ejb:service=EJBTimerService' **
  Deployment "<UNKNOWN jboss.j2ee:jar=profileservice-secured.jar,name=SecureDeploymentManager,service=EJB3>" is in error due to the following reason(s): ** UNRESOLVED Demands 'jboss.ejb:service=EJBTimerService' **


2013-05-14 14:37:58,718 INFO  [org.apache.coyote.http11.Http11Protocol] (main) Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
2013-05-14 14:37:58,734 INFO  [org.apache.coyote.ajp.AjpProtocol] (main) Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
2013-05-14 14:37:58,734 INFO  [org.jboss.bootstrap.microcontainer.ServerImpl] (main) JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 34s:266ms
2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) 
Appeon Server (Appeon for PowerBuilder 2013 Edition) started.

2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Edition: Unlicensed Edition (Appeon)
2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Universal Product Key: APFA-DEWN-NTEN-UNTT-TTTT-TTTT-TTTT
2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Universal Maximum Sessions: *

2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Universal Maximum Deployed Applications: *

2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Days Remaining: 45

2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Number of CPUs Licensed: *
2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Server ID: Kg==

2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Activation Status: UNACTIVATED
2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Support Date: 
2012-07-20~2013-07-20
2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Clustering Option: Yes

2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Number of Cores Per CPU: *

2013-05-14 14:37:59,140 INFO  [STDOUT] (Thread-17) Type of CPU Licensed: Logic
…

Solution: The steps for resolving this issue are pasted below for your convenience. You may also refer to this web page for the complete discussion https://community.jboss.org/message/585994.

Step 1: Open the JBOSS_HOME/server/<servername>/conf/standardjbosscmp-jdbc.xml in a text editor

Step 2: Search for the "Hypersonic SQL" type-mappping in that file. It will look something like this:

<type-mapping>
    <name>Hypersonic SQL</name>
    <row-locking-template/>
    ...
    <mapping>
      <java-type>java.lang.Object</java-type>
      <!-- hsqldb only supports directly serializable objects for sql type OBJECT -->
      <jdbc-type>VARBINARY</jdbc-type>
      <sql-type>VARBINARY</sql-type>
    </mapping>
...
</type-mapping>

Step 3: Change the sql-type value to 1024.

<type-mapping>
    <name>Hypersonic SQL</name>
    <row-locking-template/>
    ...
    <mapping>
      <java-type>java.lang.Object</java-type>
      <!-- hsqldb only supports directly serializable objects for sql type OBJECT -->
      <jdbc-type>VARBINARY</jdbc-type>
      <sql-type>VARBINARY(1024)</sql-type>
    </mapping>
...
</type-mapping>

Step 4: After this change, restart the server and see if it works.

If the above solution cannot solve this issue, please go to Developer > Configure > [your application] > DB Settings tab and uncheck "Start transaction when executing stored procedure" option, then deploy your application and try again.