Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

218
Visualizações
¿Cómo deshacerse de "Los parámetros del método deben ser clases @State" en JMH cuando los parámetros provienen de otro método?

Estoy trabajando en un proyecto maven. El escenario es algo así como a continuación...

 class Test { public void applyAll() { .................... .................... Collection<Migratable> applicableUpdates = SomeOtherClass.getApplicableUpdates(); doUpdate(applicableUpdates); } @Benchmark public void apply(Migratable m) { .................... .................... } private void doUpdate(Collection<Migratable> applicableUpdates) throws Exception { for (Migratable m : applicableUpdates) { try { apply(m); } catch (Exception e) { logger.error("Falid to apply migration {}" + m, e); throw e; } } } }

Necesito calcular cuánto tiempo lleva ejecutar cada migración. Simplemente necesito calcular el tiempo de ejecución del método apply (Migratable m) .
Ahora, cuando construyo mi proyecto usando "mvn clean install", la compilación falló y muestra "Los parámetros del método deben ser clases @State".

Aquí, el parámetro proviene de otro método doUpdate (Colección de actualizaciones aplicables) [ver el escenario]. Entonces, ¿cómo puedo deshacerme de este error en un escenario dado?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Hay bastantes problemas en su configuración aquí y parece que en realidad no ha mirado las muestras de JMH; y te recomiendo encarecidamente que lo hagas.

Algunas notas...

1) Su método @Benchmark devuelve void - debería devolver something ; de lo contrario, use BlackHoles (esto está en las muestras).

2) Si los parámetros provienen de otro método , significa que ese método debe ser un método @SetUp (esto está en los ejemplos)

3) El error que está viendo tiene que ver con el hecho de que su Migratable no es en realidad una clase @State (¡esto está nuevamente en los ejemplos!)

En este punto, no puedo enfatizar eso lo suficiente, pero mire y comprenda las muestras. No va a ser fácil, esto es micro-benchmark y por mucho que JMH intente hacernos las cosas más fáciles ocultando todo el código muy complicado , todavía nos obliga a cumplir con las reglas que existen allí.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda