Sounds to me like your database connection has been obtained from an XADatasource and is enlisted within a transaction managed by JBoss. In which case, you aren't allowed to change the autocommit flag (it has to remain as false) and the transaction manager will commit or rollback on your behalf. If you don't have visibility of this db connection in your code, then it may be an idea to ask the Portlet guys.
The Spec says that "Attempting to enable autoCommit by calling connection.setAutoCommit() with a value of true will throw an SQLException."
Why does JBoss throw SQLException when setAutoCommit(false) is called?