クラス ToCloudEventTransformer
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.transformer.AbstractTransformer
org.springframework.integration.cloudevents.transformer.ToCloudEventTransformer
- 実装済みのインターフェース一覧:
Aware, BeanFactoryAware, BeanNameAware, InitializingBean, ApplicationContextAware, ComponentSourceAware, ExpressionCapable, GenericTransformer<Message<?>, Message<?>>, NamedComponent, Transformer
属性と拡張子のマッピングを使用してメッセージを
CloudEvent 形式に変換します。このトランスフォーマーは 2 つの出力モードをサポートします。
- 構造化コンテンツモード :
EventFormatが利用可能になった場合(setEventFormat(EventFormat)で設定またはsetEventFormatContentTypeExpression(Expression)で解決された場合)、CloudEventはそのフォーマット(JSON、XML など)を使用してメッセージペイロードに直列化されます。出力メッセージには、直列化された CloudEvent がペイロードとして含まれ、MessageHeaders.CONTENT_TYPEはフォーマットの直列化コンテンツ型に設定されます。 - バイナリコンテンツモード :
EventFormatが利用できない場合、トランスフォーマーはToCloudEventTransformer.MessageBuilderMessageWriterを使用してCloudEventをメッセージに変換します。このメッセージでは、CloudEvent属性が設定可能なプレフィックス(デフォルト:CloudEventHeaders.PREFIX)を持つヘッダーにマッピングされ、CloudEventデータがペイロードになります。出力メッセージには、MessageHeaders.CONTENT_TYPEがapplication/cloudeventsに設定された元のデータがペイロードとして含まれます。
- 導入:
- 7.1
- 作成者:
- Glenn Renfro, Artem Bilan
フィールド概要
クラス IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerコンストラクター概要
コンストラクターコンストラクター説明拡張パターンのないインスタンスを作成します。ToCloudEventTransformer(StringSE... extensionPatterns) 指定された拡張パターンを使用してインスタンスを作成します。方法の概要
修飾子と型メソッド説明protected ObjectSEdoTransform(Message<?> message) サブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。protected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidsetCloudEventPrefix(StringSE cloudEventPrefix) バイナリコンテンツモードで、CloudEventヘッダーのプレフィックスを設定します。voidsetDataSchemaExpression(Expression dataSchemaExpression) voidsetEventFormat(io.cloudevents.core.format.EventFormat eventFormat) EventFormatをCloudEventの直列化に使用するように設定します。voidsetEventFormatContentTypeExpression(Expression eventFormatContentTypeExpression) voidsetEventIdExpression(Expression eventIdExpression) voidsetSourceExpression(Expression sourceExpression) voidsetSubjectExpression(Expression subjectExpression) voidsetTypeExpression(Expression typeExpression) クラス AbstractTransformer から継承されたメソッド
transformクラス IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
コンストラクターの詳細
ToCloudEventTransformer
public ToCloudEventTransformer()拡張パターンのないインスタンスを作成します。ToCloudEventTransformer
指定された拡張パターンを使用してインスタンスを作成します。- パラメーター:
extensionPatterns- メッセージヘッダーをCloudEventの拡張機能として追加すべきかどうかを評価するためのパターン
方法の詳細
setEventIdExpression
- パラメーター:
eventIdExpression- 各CloudEventに対してidを作成する式
setSourceExpression
- パラメーター:
sourceExpression- 各CloudEventに対してsourceを作成する式
setTypeExpression
- パラメーター:
typeExpression- 各CloudEventに対してtypeを作成する式
setDataSchemaExpression
- パラメーター:
dataSchemaExpression- 各CloudEventに対してdataSchemaを作成する式
setSubjectExpression
- パラメーター:
subjectExpression- 各CloudEventに対してsubjectを作成する式
setEventFormat
public void setEventFormat(io.cloudevents.core.format.EventFormat eventFormat) EventFormatをCloudEventの直列化に使用するように設定します。eventFormatとeventFormatContentTypeExpressionが指定されている場合、eventFormatが優先されます。- パラメーター:
eventFormat- CloudEvents を直列化するためのイベントフォーマット
setEventFormatContentTypeExpression
EventFormatProviderを使用してEventFormatを決定する場合は、Expressionでクラウドイベント形式のコンテンツ型を生成するように設定します。eventFormatとeventFormatContentTypeExpressionが指定されている場合、eventFormatが優先されます。- パラメーター:
eventFormatContentTypeExpression-EventFormatProvider.resolveFormat(String)のコンテンツ型を作成する式- 関連事項:
setCloudEventPrefix
バイナリコンテンツモードで、CloudEventヘッダーのプレフィックスを設定します。デフォルトは
CloudEventHeaders.PREFIXです。- パラメーター:
cloudEventPrefix-CloudEventヘッダーに使用するプレフィックス
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
IntegrationObjectSupportのonInit
doTransform
クラスからコピーされた説明:AbstractTransformerサブクラスは、変換ロジックを提供するためにこのメソッドを実装する必要があります。戻り値自体がメッセージの場合、結果として使用されます。そうでない場合、null 以外の戻り値が結果メッセージのペイロードとして使用されます。- 次で指定:
- クラス
AbstractTransformerのdoTransform - パラメーター:
message- メッセージ。- 戻り値:
- 変換の結果。
getComponentType