The ejb is accessing the timerservice for which it requires (if you turn it on) to persit the timers in database.
Did you have DefaultDS configured properly so it can create the table-if-not-exists?
I would first check the DefaultDS datasoruce config, then check the user if he has permission to create a table.
Thanks for the information...
DefaultDS datasource is configured correctly, in fact, it created rest of the Messaging tables during start up, except this one. Since we are not using any EJBs I think I can turn off this table creation.
u know how to turn it off, dont' u?
I tried but I couldn't figure out how to turn it off, can you please provide some guidance?
Check the deploy/ejb-deployer.xml.
You may have to comment
org.jboss.ejb.txtimer.DatabasePersistencePolicy mbean block and enable org.jboss.ejb.txtimer.NoopPersistencePolicy block (which is curretnly closed).
Thant should do the trick
Check the *-ds.xml file for DefaultDS and make sure that you have a metadata entry, such as:
<metadata> <type-mapping>Type of database</type-mapping> </metadata>
where "Type of database" is the name of one of the type mappings in server/xxx/conf/standardjbosscmp-jdbc.xml.
When you do that, the metadata MBean gets created.
It worked in both cases:
1. As Madhu wrote, commenting out the org.jboss.ejb.txtimer.DatabasePersistencePolicy did work.
2. As Peter wrote, I gave the Oracle9i database type it worked. However, in my case our database is Oracle10g and there is no entry for Oracle10g in server/xxx/conf/standardjbosscmp-jdbc.xml. I tested with giving Oracle9i in my oracle-ds.xml. But I am bit scared of giving incorrect mapping. I am not sure if JBoss released with Oracle10g mapping yet.
You should post this on the JCA forum.
Datasource configuration is handled by the JCA layer, not by JBoss Messaging.
I am using JBOSS 5.1 with Postgres 9.1
In my -ds.xml I put "normally"
JBOSS <type-mapping>PostgreSQL 9.1</type-mapping>
this caused :
ERROR [org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.createTableIfNotExists:155] Cannot create timer table
java.lang.IllegalStateException: Cannot obtain type mapping from: jboss.jdbc:datasource=DefaultDS,service=metadata
I changed to JBOSS <type-mapping>PostgreSQL 8.0</type-mapping>
and the reoor diappeared.
So Peter Johnson was right.