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
)
И это должно сработать!