tutorial traduccion que plant meaning clothes java thrift

traduccion - ¿Por qué obtengo errores java.lang.AbstractMethodError?



thrift python (6)

Como Damian citó:

Normalmente, este error es capturado por el compilador; este error solo puede ocurrir en tiempo de ejecución si [...]

Tuve el mismo error que el compilador no detectó, pero en tiempo de ejecución. Para resolverlo solo volví a compilar sin dar ninguna modificación al código.

¿Cuáles son las posibles causas de ABstractMethodError?

Excepción en el hilo "pool-1-thread-1" java.lang.AbstractMethodError:

org.apache.thrift.ProcessFunction.isOneway()Z at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:51) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) at com.gemfire.gemstone.thrift.hbase.ThreadPoolServer$ClientConnnection.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)


Desde documnentation de AbstractMethodError

Se lanza cuando una aplicación intenta llamar a un método abstracto. Normalmente, este error es capturado por el compilador; este error solo puede ocurrir en tiempo de ejecución si la definición de alguna clase ha cambiado de manera incompatible desde la última compilación del método en ejecución.



Por lo general, significa que está utilizando una versión anterior de una implementación de interfaz a la que le falta un nuevo método de interfaz. Por ejemplo, la interfaz java.sql.Connection obtuvo un nuevo método getSchema en 1.7. Si tiene el controlador 1.6 JDBC y llama a Connection.getSchema, obtendrá AbstractMethodError.


Si está recibiendo este error en los métodos implementados, asegúrese de haber agregado sus dependencias correctamente como se menciona en este hilo .


Una especie de caso especial de la answer anterior.

Tuve este error, porque estaba usando un spring-boot-starter-parent (por ejemplo, 2.1.0.RELEASE usa la versión de primavera: 5.1.2.RELEASE ) pero también 5.1.2.RELEASE una BOM , que también definió algunas dependencias de primavera, pero en una versión anterior (ej. 5.0.9.RELEASE ).

Entonces, una cosa que debe hacer es verificar su dependency tree (en Eclipse, por ejemplo, puede usar la Jerarquía de dependencias) si está usando las mismas versiones.

Entonces, una solución podría ser que actualice las dependencias de primavera en su BOM , otra podría ser que las excluya (pero dependiendo de la cantidad, esto podría ser feo).