Trouble setting up 0.7.7-alpha-1 to use MaxDB 7.5.00. under Debian Sarge

"Johan Hallgren" <[email protected]>
Newsgroups gmane.comp.java.openjms.user
Message-ID <3834E2B49C8B5342837E7D6F68E8D21922AFFF@apiexchsrv19.APIMEM.apiparts.com>
Hello list,

I am attempting to set up OpenJMS to use MaxDB (formerly known as SAPDB) as its database layer. When setting it up under Windows XP to use MaxDB 7.6.00.12 (latest MaxDB version as of about a month ago) all works well. However, when setting it up to use MaxDB 7.5.00.24 (this version is what is in Debian's stable archive) under Debian Sarge, OpenJMS fails to start up with message:

# /usr/local/openjms/bin/startup.sh
Using OPENJMS_HOME: /usr/local/openjms
Using JAVA_HOME:    /usr/java
OpenJMS: JMS 0.7.7-alpha-1
The OpenJMS Group. (C) 1999-2005. All rights reserved.
http://openjms.sourceforge.net
org.exolab.jms.server.ServerException: org.exolab.jms.persistence.PersistenceException: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.sap.dbtech.jdbc.DriverSapDB' for connect URL 'sapdb://localhost/WWWDBUC', cause:
java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getDriver(DriverManager.java:243)
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:743)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
        at org.exolab.jms.persistence.DBCPConnectionManager.getConnection(DBCPConnectionManager.java:119)
        at org.exolab.jms.persistence.RDBMSAdapter.getConnection(RDBMSAdapter.java:703)
        at org.exolab.jms.persistence.RDBMSAdapter.<init>(RDBMSAdapter.java:177)
        at org.exolab.jms.persistence.DatabaseService.createRdbmsAdapter(DatabaseService.java:225)
        at org.exolab.jms.persistence.DatabaseService.<init>(DatabaseService.java:156)
        at org.exolab.jms.persistence.DatabaseService.instance(DatabaseService.java:111)
        at org.exolab.jms.server.JmsServer.registerServices(JmsServer.java:240)        at org.exolab.jms.server.JmsServer.init(JmsServer.java:148)
        at org.exolab.jms.server.JmsServer.main(JmsServer.java:195)

In both the Windows and Linux cases, I use the sapdbc-7_6_00_12_4339.jar JDBC driver and am pointing to that file in the CLASSPATH statement in setenv.sh. This driver works well with the 7.5.00.24 database version when used in the Resin 3.0.14 application server, so I'm assuming that it should be good to go for OpenJMS use, too.

Also, in both cases I use this openjms.xml:

<?xml version="1.0"?>
<Configuration>

  <!-- Optional. This represents the default configuration  -->
  <ServerConfiguration host="10.2.100.236" embeddedJNDI="true" />
  
  <Connectors>
    <Connector scheme="tcp">
      <ConnectionFactories>
        <ConnectionFactory name="ConnectionFactory" />
      </ConnectionFactories>
    </Connector>
    <Connector scheme="http">
      <ConnectionFactories>
        <ConnectionFactory name="HTTPConnectionFactory"/>
      </ConnectionFactories>
    </Connector>
    <Connector scheme="rmi">
      <ConnectionFactories>
        <QueueConnectionFactory name="JmsQueueConnectionFactory" />
        <TopicConnectionFactory name="JmsTopicConnectionFactory" />
      </ConnectionFactories>
    </Connector>
  </Connectors>

  <!-- Required  -->
  <DatabaseConfiguration>
    <RdbmsDatabaseConfiguration
      driver="com.sap.dbtech.jdbc.DriverSapDB"
      url="sapdb://localhost/WWWDBUC" 
      user="openjmsuser" 
      password="openjmsuser"/>
  </DatabaseConfiguration>

  <HttpConfiguration host="10.2.100.236" webServerPort="8080" port="3030" 
      servlet="/openjms-tunnel/tunnel" />

  <!-- Required -->    
  <AdminConfiguration script="${openjms.home}\bin\startup.bat" />
    
  <!-- Optional. If not specified, no destinations will be created -->
  <AdministeredDestinations>
    <AdministeredTopic name="topic1">
      <Subscriber name="sub1" />
      <Subscriber name="sub2" />
    </AdministeredTopic>
  
    <AdministeredQueue name="queue1" />
    <AdministeredQueue name="queue2" />
    <AdministeredQueue name="queue3" />
  </AdministeredDestinations>

  <!-- Optional. If not specified, no users will be created -->
  <Users>
    <User name="admin" password="openjms" /> 
  </Users>

</Configuration>

Any pointers to what could be wrong is the Linux-based case would be most appreciated.

Thanks in advance,
Johan Hallgren
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.