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