APIMan с Tomcat и MySQL

Я новичок в APIMan. Я настроил apiman-tomcat-final-distro с экземпляром Apache Tomcat. Теперь, когда он использует по умолчанию в качестве базы данных H2 для APIMan, я хочу настроить базу данных MySQL с этим.

Некоторые документы доступны на странице RedHat APIMan, но они неясны и не указаны надлежащим образом.

Любой пошаговый подход, например Blogger или Tutorial, будет очень полезен.

Благодарю.

1 ответ

Руководство по установке производства предоставлено apiman сам по себе является хорошим ресурсом на мой взгляд. Вот соответствующая ссылка на ваши вопросы. Я не хочу повторять одни и те же шаги, но ссылки можно перемещать, выделяя некоторые ключевые моменты.

путеводитель

  • Разверните драйвер JDBC, совместимый с вашей базой данных.
  • Обновите файл источника данных apiman-ds.xml (чтобы он указывал на вашу базу данных)
  • Обновите спящий диалект в apiman.properties

Когда вы находитесь в базовом каталоге tomcat, измените следующие файлы:

  • В conf/apiman.properties ставить:

Не забудьте добавить java:comp/env/ на ваше имя jdbc и только в apiman.properties файл

apiman.hibernate.connection.datasource=java:comp/env/jdbc/datasources/apiman-manager
apiman.hibernate.dialect=io.apiman.manager.api.jpa.ApimanMySQL5Dialect
apiman.hibernate.hbm2ddl.auto=validate

# API Manager storage settings.
apiman-manager.storage.type=jpa
apiman-manager.storage.jpa.initialize=true
# apiman-manager.storage.es.protocol=${apiman.es.protocol}
# apiman-manager.storage.es.host=${apiman.es.host}
# apiman-manager.storage.es.port=${apiman.es.port}
# apiman-manager.storage.es.username=${apiman.es.username}
# apiman-manager.storage.es.password=${apiman.es.password}
# apiman-manager.storage.es.timeout=${apiman.es.timeout}
# apiman-manager.storage.es.initialize=true

  • В conf/context.xml ставить:
<Context>
    <Resource name="jdbc/datasources/apiman-manager" auth="Container" 
    type="javax.sql.DataSource"
                   maxTotal="100" maxIdle="30" maxWaitMillis="10000"
                   username="username" password="password" 
    driverClassName="com.mysql.jdbc.Driver"
                   url="jdbc:mysql://YOUR_DB_IP:YOUR_DB_PORT/apiman"/>
         <ResourceLink global="jdbc/datasources/apiman-manager" 
    name="jdbc/datasources/apiman-manager" type="javax.sql.DataSource"/>
</Context>
  • В conf/web.xml:
<web-app>
    <resource-ref>
        <res-ref-name>jdbc/datasources/apiman-manager</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
</web-app>
  • В lib поместите банку вашего драйвера (например mysql-connector-java-5.1.33.jar)

И это должно сработать!

Другие вопросы по тегам