Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第6章 APNS
APN コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.8 から利用可能
apns コンポーネントは、iOS デバイスに通知を送信するために使用されます。apns コンポーネントは javapns ライブラリーを使用します。コンポーネントは、Apple Push Notification Servers (APNS)への通知の送信と、サーバーからのフィードバックの消費をサポートします。
コンシューマーは、デフォルトのポーリング時間 3600 秒で設定されます。サーバーのフラッディングを避けるために、Apple Push Notification Server からのフィードバックストリームを間隔で定期的に使用することが推奨されます。
フィードバックストリームは、非アクティブなデバイスに関する情報を提供します。この情報は、モバイルアプリケーションが頻繁に使用されていない場合は、頻繁に(すべて 2 時間または 3 時間)消費できます。
Transport Layer Security (TLS)を使用するように apns コンポーネントを設定するには、Security Guide の Configuring Transport Security for Camel Components の章を参照してください。
Maven ユーザーは、このコンポーネントの
pom.xml
に以下の依存関係を追加する必要があります。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
通知を送信するには、以下を実行します。
apns:notify[?options]
apns:notify[?options]
フィードバックを利用するには、以下を実行します。
apns:consumer[?options]
apns:consumer[?options]
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プロデューサー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プロパティー | デフォルト | 説明 |
---|---|---|
トークン
|
デフォルトでは空です。通知するデバイスに関連するトークンを静的に宣言する場合は、このプロパティーを設定します。トークンはコンマで区切ります。 |
コンシューマー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
プロパティー | デフォルト | 説明 |
---|---|---|
delay
|
3600
|
各ポーリング間の遅延(秒単位)。 |
initialDelay
|
10
|
ポーリングが開始されるまでの秒数。 |
timeUnit
|
SECONDS
|
ポーリングの時間単位。 |
userFixedDelay
|
true
|
true の場合は、プール間の固定遅延を使用します。そうでない場合は、固定レートが使用されます。詳細は、JDK の ScheduledExecutorService を参照してください。
|
URI にクエリーオプションは
?option=value&option=value&.. の形式で追加できます。
コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ApnsComponent
は com.notnoop.apns.ApnsService
で設定する必要があります。このサービスは、org.apache.camel.component.apns.factory.ApnsServiceFactory
を使用して作成および設定できます。例については、以下を参照してください。詳細は、テストソースコード を参照してください。
エクスチェンジデータ形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel が非アクティブなデバイスに対応するフィードバックデータを取得すると、InactiveDevice オブジェクトのリストを取得します。取得したリストの各 InactiveDevice オブジェクトは In body として設定され、コンシューマーエンドポイントによって処理されます。
メッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel Apns はこれらのヘッダーを使用します。
プロパティー | デフォルト | 説明 |
---|---|---|
CamelApnsTokens
|
デフォルトでは空です。 | |
CamelApnsMessageType
|
文字列、ペイロード、APNS_NOTIFICATION
|
メッセージタイプとして PAYLOAD を選択すると、メッセージは APNS ペイロードと見なされ、そのまま送信されます。STRING を選択すると、メッセージは APNS ペイロードに変換されます。APNS_NOTIFICATION は、メッセージボディーを com.notnoop.apns.ApnsNotification タイプとして送信するために使用されます。
|
ApnsServiceFactory Builder コールバック リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ApnsServiceFactory
には、デフォルトの ApnsServiceBuilder
インスタンスの設定または置き換えに使用できる空のコールバックメソッドが含まれています。メソッドの形式は以下のとおりです。
protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder);
protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder);
サンプル リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel Xml ルート リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel Java ルート リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
camel コンテキストを作成し、プログラムで apns コンポーネントを宣言します。 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ApnsProducer - iOS ターゲットデバイスがヘッダー経由で動的に設定された "CamelApnsTokens" リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ApnsProducer - iOS ターゲットデバイスが URI 経由で静的に設定される リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ApnsConsumer リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS") .to("log:com.apache.camel.component.apns?showAll=true&multiline=true") .to("mock:result");
from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
.to("log:com.apache.camel.component.apns?showAll=true&multiline=true")
.to("mock:result");
関連項目 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!