How to bring up Vert.x gateway without Elasticsearch
See original GitHub issueHi,
An earlier issue, #885, asked how to bring up Apiman without Elasticsearch. However, as far as I could see, the responses all dealt with the servlet implementation (more specifically, the distinction between the gateway and manager components was not made).
I would like to deploy the version 1.5.7.Final Vert.x gateway component using JDBC instead of Elasticsearch (recognizing, as pointed out in issue #885, that some components are not available for JDBC - specifically, the cache store, rate limiter and shared store components).
While the installation guide has a section on configuring the gateway to use JDBC, this is for the servlet implementation and it is not immediately obvious how to translate the information to the JSON configuration file used by the Vert.x version of the gateway.
I was hoping that by starting with a largely empty configuration file, running the gateway would tell me what is missing. However, the gateway is not very forgiving:
[INFO ] 2020-10-16 03:13:46.583 [vert.x-eventloop-thread-3] HttpGatewayVerticle - Starting verticle: HTTP. UUID: c9b1d67a-1821-4d4e-92f1-254efd83ed74.HTTP.
java.lang.RuntimeException: java.lang.NullPointerException
at io.apiman.gateway.platforms.vertx3.engine.VertxConfigDrivenEngineFactory.doInstantiate(VertxConfigDrivenEngineFactory.java:66)
at io.apiman.gateway.engine.impl.ConfigDrivenEngineFactory.create(ConfigDrivenEngineFactory.java:181)
at io.apiman.gateway.engine.impl.ConfigDrivenEngineFactory.createRegistry(ConfigDrivenEngineFactory.java:99)
at io.apiman.gateway.engine.impl.AbstractEngineFactory.createEngine(AbstractEngineFactory.java:56)
at io.apiman.gateway.platforms.vertx3.verticles.ApimanVerticleWithEngine.start(ApimanVerticleWithEngine.java:48)
at io.apiman.gateway.platforms.vertx3.verticles.HttpGatewayVerticle.start(HttpGatewayVerticle.java:37)
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:552)
at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:320)
at io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at io.apiman.gateway.platforms.vertx3.engine.VertxConfigDrivenEngineFactory.doInstantiate(VertxConfigDrivenEngineFactory.java:62)
... 14 more
Thanks in advance
Issue Analytics
- State:
- Created 3 years ago
- Comments:7 (5 by maintainers)
I think for the vert.x part @msavy is the expert, maybe he can help 😃
For the es-part I am happy that you share your opinion on that. I hope we can release soon a 2.1.X release of apiman. Including all know bug fixes for elasticsearch and also the new developer portal. On our test system, we run ES7 for over a half of a year without any problems 😃 Would be nice if you could try out the 2.0.0 (maybe only on a test-system) and report bugs if you find some 😃
@james-bostock If you decide at some future point to go with elasticsearch 7 you can easily switch to apiman 2.x version with a complete export of your apiman data via apiman manager. 😃