Hi list,

I am currently in the process of evaluating ActiveMQ. Reading 
http://activemq.org/JDBC+Support I see that it supports quite a lot of 
databases, but unfortunately not the one that my company is using (MaxDB 
(formerly SAPDB), http://www.mysql.com/products/maxdb/). I try to configure 
activemq to use it by copying its JDBC jar file to activemq's lib directory, 
and configuring activemq.xml to use it like this:

  <bean id="maxdb-ds" class="org.apache.commons.dbcp.BasicDataSource" 
destroy-method="close">
    <property name="driverClassName" value="com.sap.dbtech.jdbc.DriverSapDB"/>
    <property name="url" value="jdbc:sapdb://localhost/DatabaseInstanceName"/>
    <property name="username" value="activemquser"/>
    <property name="password" value="activemquser"/>
  </bean>

I used the MySQL sample config section as a template and substituted values for 
my MaxDB instance (the class value I used as is, since I didn't know what to 
use there). However, when starting ActiveMQ, I get these errors (I have created 
the database user mentioned above, but not created any tables in that schema):

ACTIVEMQ_HOME: /usr/local/activemq-4.0-M4
Loading message broker from: xbean:activemq.xml
INFO  BrokerService                  - ActiveMQ 4.0-M4 JMS Message Broker 
(localhost) is starting
INFO  BrokerService                  - For help or more information please 
see:http://www.logicblaze.com
WARN  JDBCPersistenceAdapter         - Database driver NOT recognized: 
[sap_db].  Will use default JDBC implementation.
WARN  DefaultJDBCAdapter             - Could not create JDBC tables; they 
couldalready exist. Failure was: CREATE TABLE ACTIVEMQ_MSGS(ID INTEGER NOT 
NULL, CONTAINER VARCHAR(250), MSGID_PROD VARCHAR(250), MSGID_SEQ INTEGER, 
EXPIRATION BIGINT, MSG BLOB, PRIMARY KEY ( ID ) ) Message: [-4006] (at 128): 
Unknown domain name:BIGINT SQLState: I4006 Vendor code: -4006

...Further similar errors snipped.

>From my understanding of what is happening, it seems that the SQL statements 
>that are used by ActiveMQ won't work on MaxDB (BIGINT is indeed a field type 
>that is not recognized by that database). My questions are thus:

* Does anyone successfully use ActiveMQ with MaxDB, and if so, how should I 
configure activemq.xml to make it work?
* If it does indeed not work, what would it take to add support for MaxDB to 
ActiveMQ? The ActiveMQ web site further mentions that "If you have a JDBC 
database which we don't support then please let us know what JDBC driver string 
you're getting." If someone would tell me how, I'd be happy to provide the JDBC 
string I'm getting (could it be "sap_db", as seen in the output snippet 
above?), and help in any other way I can to add support for this database.

Thanks in advance for any insight!

Regards,
Johan Hallgren

Reply via email to