apiKitルーティングメッセージを処理する際に、検証コンポーネントを使用して、私のミュールメッセージの主要なデータを検証しています。Mule apiKitGlobalExceptionMapping ValidationExceptionがスローされない
例外クラスは、apiキットのグローバル例外コンポーネントでキャッチできますが、例外は常にカスタムクラスではなくorg.mule.api.MessagingExceptionになります。
私は、APIキットグローバル例外要素に分離することが検証コンポーネントから私の例外を取得するために何をすべきかが必要ですか?以下の私の検証例外コンポーネントです:
package com.comMyAppy.rules;
import com.comMyAppy.rules.MyAppValidationException;
import org.mule.api.MuleEvent;
import org.mule.extension.validation.api.ExceptionFactory;
import org.mule.extension.validation.api.ValidationResult;
public class MyAppValidationExceptionFactory implements ExceptionFactory
{
@SuppressWarnings("unchecked")
@Override
public <T extends Exception> T createException(ValidationResult result,
Class<T> exceptionClass, MuleEvent event)
{
// TODO Auto-generated method stub
return (T) new MyAppValidationException(result, event);
}
@Override
public Exception createException(ValidationResult result,
String exceptionClassName, MuleEvent event)
{
// TODO Auto-generated method stub
return new MyAppValidationException(result, event);
}
}
ここでは、私の例外クラスです:私は間違っ
package com.comMyAppy.rules;
import org.mule.api.MuleEvent;
import org.mule.config.i18n.Message;
import org.mule.extension.validation.api.ValidationException;
import org.mule.extension.validation.api.ValidationResult;
@SuppressWarnings("serial")
public class MyAppValidationException extends ValidationException
{
public MyAppValidationException(ValidationResult validationResult,
MuleEvent event)
{
super(validationResult, event);
// TODO Auto-generated constructor stub
}
@Override
protected String generateMessage(Message message)
{
return "VALIDATION:" + message.getMessage();
}
}
何をしているのですか?
note検証:すべてのコンポーネントを使用しています –
検証設定を共有できますか? –
私はすべての検証者が私が投げたいカスタム例外を食べていることを理解しました –