I think the other way of doing this (at one common place) is to specify the schema name in the datasource itself. So in your case, the -ds.xml which is used to configure your datasouce:
can be configured as follows:
Btw, i just read the xml contents that you posted. I has this:
When overriding the timers table, an optional schema can be specified
using the syntax [schema.]table
So try changing the TimersTable attribute to:
The brackets are there to denote the schema is optional :-)
My guess is this is not supported in mysql.
Thanks guys but I already tried all of the above.
MySQL does support the schema.table notation.
In my mysql-ds.xml, I've configured the default database which is other than jboss. I guess I can configure the default database to be jboss and explicitly state the schema name in my data access objects.
However, it seems like it was working for all JMS related file configurations but just not for the EJBTimeService which is really annoying.
Surely I'm missing something or perhaps this is a bug.
FWIW, we've also had many problems with this same table, and we're using oracle. Specifying the schema name appears to be redundant - it is ignored.
We found that we had to make sure the table name was unique across ALL schemas in the database. That is, we had a schema per developer in the dev environment, and we had to make sure each of us used a different table name.
Something very screwy with EJB Timer persistence