Верблюжий Spring DSL onException вообще не срабатывает

Измените свой код как:

  org.json.simple.JSONObject jsonObject = null;
  JSONParser parser=new JSONParser(); // this needs the "json-simple" library

  try 
  {
        Object obj = parser.parse(responseBody);
        jsonObject=(org.json.simple.JSONObject)obj;
  }
  catch(Exception ex)
  {
        Log.v("TEST","Exception1: " + ex.getMessage());
  }

, или если вы используете только библиотеку org.json.simple для разбора строки json, тогда просто импортируйте org.json.simple.* вместо org.json.JSONObject

0
задан Hasta Tamang 8 March 2019 в 11:38
поделиться

1 ответ

<onException> должен предшествовать код, который стремится запустить по ошибке. В вашем конкретном случае просто переместите обработку исключений сразу после «from», например:

<route>
      <from uri="..."/>
        <!-- Exception handling -->
        <onException>
          <exception>org.savino.hb.dataprovider.DataProviderException</exception>
            <handled>
                <constant>true</constant>
            </handled>
            <log loggingLevel="ERROR" message="HEY I GOT AN EXCEPTION" /> 
        <onException>
        <!-- The route definition -->
        <process ref="processor"/>
        <to uri="bean:excelConverter"/>
        <to uri="file:..."/>
        <to uri="bean:finish"/>
    </route>

Возможной (более естественной) альтернативой является try-catch: http: // people. apache.org/~dkulp/camel/try-catch-finally.html

0
ответ дан TacheDeChoco 8 March 2019 в 11:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: