WSO2 siddhi-gpl-execution-geo library works in java 8 but not supporting Java 18

42 Views Asked by At

Git Hub Link : https://github.com/wso2-extensions/siddhi-gpl-execution-geo/tree/master

I'm using this siddhi-gpl-execution-geo library for geospatial functions and geo to use geo capabilities.

This jar file is working fine in Java 8 environment but not working in Java 18 Environment.

I tried to update the geo-tools and jts version, but there is no impact.

the library internally uses the below dependency

org.wso2.orbit.org.geotools - gt-geojson

I'm getting the below issue

com.vividsolutions.jts.geom.GeometryFactory is not an ImageIO SPI class

WARN {org.wso2.msf4j.internal.MSF4JHttpConnectorListener} - Unmapped exception java . 
        at org.wso2.extension.siddhi.gpl.execution.geo.internal.util.GeoOperation.process(GeoOperation.java:66)
        at org.wso2.extension.siddhi.gpl.execution.geo.function.AbstractGeoOperationExecutor.execute(AbstractGeoOperationExecutor.java:58)
        at io.siddhi.core.executor.function.FunctionExecutor.execute(FunctionExecutor.java:100)
        at io.siddhi.core.executor.condition.BoolConditionExpressionExecutor.execute(BoolConditionExpressionExecutor.java:44)
        at io.siddhi.core.executor.condition.BoolConditionExpressionExecutor.execute(BoolConditionExpressionExecutor.java:29)
        at io.siddhi.core.query.selector.attribute.processor.AttributeProcessor.process(AttributeProcessor.java:41)
        at io.siddhi.core.query.selector.QuerySelector.processNoGroupBy(QuerySelector.java:173)
        at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:88)
        at io.siddhi.core.query.processor.stream.LogStreamProcessor.process(LogStreamProcessor.java:276)
        at io.siddhi.core.query.processor.stream.StreamProcessor.processEventChunk(StreamProcessor.java:41)
        at io.siddhi.core.query.processor.stream.AbstractStreamProcessor.process(AbstractStreamProcessor.java:133)
        at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182)
        at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89)
        at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:115)
        at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:180)
        at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:497)
        at io.siddhi.core.query.output.callback.InsertIntoStreamCallback.send(InsertIntoStreamCallback.java:56)
        at io.siddhi.core.query.output.ratelimit.OutputRateLimiter.sendToCallBacks(OutputRateLimiter.java:104)
        at io.siddhi.core.query.output.ratelimit.PassThroughOutputRateLimiter.process(PassThroughOutputRateLimiter.java:45)
        at io.siddhi.core.query.selector.QuerySelector.process(QuerySelector.java:98)
        at io.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:182)
        at io.siddhi.core.query.input.ProcessStreamReceiver.process(ProcessStreamReceiver.java:89)
        at io.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:127)
        at io.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:203)
        at io.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:506)
        at io.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:34)
        at io.siddhi.core.stream.input.InputEntryValve.send(InputEntryValve.java:45)
        at io.siddhi.core.stream.input.InputHandler.send(InputHandler.java:79)
        at org.wso2.carbon.siddhi.editor.core.internal.DebuggerEventStreamService.pushEvent(DebuggerEventStreamService.java:74)
        at org.wso2.carbon.event.simulator.core.internal.generator.SingleEventGenerator.sendEvent(SingleEventGenerator.java:85)
        at org.wso2.carbon.event.simulator.core.impl.SingleApiServiceImpl.runSingleSimulation(SingleApiServiceImpl.java:17)
        at org.wso2.carbon.event.simulator.core.api.SingleApi.runSingleSimulation(SingleApi.java:66)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:577)
        at org.wso2.msf4j.internal.router.HttpMethodInfo.invokeResource(HttpMethodInfo.java:187)
        at org.wso2.msf4j.internal.router.HttpMethodInfo.invoke(HttpMethodInfo.java:143)
        at org.wso2.msf4j.inter`your text`nal.MSF4JHttpConnectorListener.dispatchMethod(MSF4JHttpConnectorListener.java:218)
        at org.wso2.msf4j.internal.MSF4JHttpConnectorListener.lambda$onMessage$58(MSF4JHttpConnectorListener.java:129)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalArgumentException: com.vividsolutions.jts.geom.GeometryFactory is not an ImageIO SPI class
        at java.desktop/javax.imageio.spi.ServiceRegistry.checkClassAllowed(ServiceRegistry.java:712)
        at java.desktop/javax.imageio.spi.ServiceRegistry.<init>(ServiceRegistry.java:117)
        at org.geotools.factory.FactoryRegistry.<init>(FactoryRegistry.java:155)
        at org.geotools.factory.FactoryCreator.<init>(FactoryCreator.java:91)
        at org.geotools.geometry.jts.JTSFactoryFinder.getServiceRegistry(JTSFactoryFinder.java:67)
        at org.geotools.geometry.jts.JTSFactoryFinder.getGeometryFactory(JTSFactoryFinder.java:90)
        at org.geotools.geometry.jts.JTSFactoryFinder.getGeometryFactory(JTSFactoryFinder.java:102)
        at org.wso2.extension.siddhi.gpl.execution.geo.internal.util.GeometryUtils.<clinit>(GeometryUtils.java:42)
        ... 41 more



help me fix this or suggest any alternative
0

There are 0 best solutions below