10.11. FTP プロバイダーの設定
| プロパティー | Description | 必須 |
|---|---|---|
| hostname | ポート 21 を使用する <host> だけの <host:port> の組み合わせを指定できます。 | はい |
| username | FTP 接続に使用されるユーザー名。 | はい |
| password | 上記のユーザーのパスワード | はい |
| directory | 新しいファイル用に監視される FTP ディレクトリー | はい |
| input-suffix | インストラクターが使用するファイルのフィルターに使用されるファイルの接尾辞(ドットの追加など、.esbIn など)。これは、空の文字列として指定することで、すべてのファイルを取得するように指定することもできます。 | はい |
| work-suffix | ファイルの処理中に使用されるファイル接尾辞。これにより、別のスレッドまたはプロセスも選択されなくなります。デフォルトは .esbInProcess です。 | いいえ |
| post-delete | true の場合、ファイルは処理された後に削除されます。この場合、ディレクトリー後および post-suffix は効果がないことに注意してください。デフォルトは true です。 | いいえ |
| post-directory | ファイルの処理後にファイルが移動される FTP ディレクトリー。デフォルトは上記のディレクトリーの値に設定されます。 | いいえ |
| post-suffix | 処理後にファイル名に追加されるファイルの接尾辞。デフォルトは .esbDone です。 | いいえ |
| error-delete | true の場合、処理中にエラーが発生した場合にファイルが削除されます。この場合、error-directory および error-suffix は効果がないことに注意してください。デフォルトは true です。 | いいえ |
| error-directory | 処理中にエラーが発生した場合にファイルを移動する FTP ディレクトリー。デフォルトは上記のディレクトリーの値に設定されます。 | いいえ |
| error-suffix | 処理中にエラーが発生するとファイル名に追加される接尾辞。デフォルトは .esbError です。 | いいえ |
| protocol | プロトコルは以下のいずれかになります。
| いいえ |
| passive | FTP 接続がパッシブモードであることを示します。これを true に設定すると、FTP クライアントは ftpserver への 2 つの接続を確立します。デフォルトは false で、クライアントは FTP サーバーに接続先となるポートを指示します。その後、FTP サーバーはクライアントへの接続を確立します。 | いいえ |
| read-only | true の場合、FTP サーバーはファイルの書き込み操作を許可しません。この場合、work-suffix、post-delete、post-directory、post-suffix、post-delete、error-directory、および error-suffix プロパティーは影響を受けないことに注意してください。デフォルトは false です。詳細は、読み取り専用 FTP リスナー を参照してください。 | いいえ |
| certificate-url | FTPS サーバー検証のパブリックサーバー証明書への URL、または SFTP クライアント検証のプライベート証明書への URL。SFTP 証明書は、デプロイメントアーティファクト内に埋め込まれたリソースとして配置できます。 | いいえ |
| certificate-name | FTPS サーバー検証の証明書の共通名 | いいえ |
| certificate-passphrase | SFTP クライアント検証用の秘密鍵のパスフレーズ。 | いいえ |
設定されたスケジュール(scheduleidref)に基づいてリモートファイルをポーリングする schedule リスナーを設定できます。
ftp-provider プロパティー read-only を true に設定すると、リモートファイルシステムが書き込み操作を許可しないことをシステムに指示します。これは、特定のファイルにパーミッションが付与されるイントラネットコンピューターで FTP サーバーが実行されている場合によくあります。
読み取り専用実装は JBoss TreeCache を使用して取得されたファイル名の一覧を保持し、以前に取得されていないファイル名のみを取得します。キャッシュを、キャッシュローダーを使用して安定したストレージに永続化するように設定する必要があります。
注記
キャッシュからファイル名を削除するストラテジーが存在する必要があります。企業には、定期的にファイルを別の場所に移動するアーカイブプロセスが存在する可能性があります。キャッシュからファイル名を削除するには、数日ごとにすべてのファイル名をキャッシュから削除するデータベースの手順を使用できます。別のストラテジーでは、キャッシュからファイル名をエビクトすると、cacheloader からファイル名も削除される TreeCacheListener を指定します。その後、エビクション期間は設定可能になります。これは、ftp-listener 設定でプロパティー(removeFilesystemStrategy-cacheListener)を設定することで設定できます。
| 名前 | Description |
|---|---|
| scheduleidref | FTP リスナーによって使用されるスケジュール。サービススケジューリング を参照してください。 |
| remoteFileSystemStrategy-class | リモートファイルシステムストラテジーを、実装するクラスで上書きします( org.jboss.soa.esb.listeners.gateway.remotestrategies.RemoteFileSystemStrategy )。デフォルトは org.jboss.soa.esb.listeners.gateway.remotestrategies.ReadOnlyRemoteFileSystemStrategyです。 |
| remoteFilesystemStrategy-configFile | ローカルファイルシステムまたはクラスパスに存在する JBoss TreeCache 設定ファイルを指定します。デフォルトでは、クラスパスのルートにある /ftpfile-cache-config.xml という名前のファイルを検索します。 |
| removeFilesystemStrategy-cacheListener | TreeCache で使用される JBoss TreeCacheListener 実装を指定します。デフォルトは TreeCacheListener ではありません。 |
| maxNodes | キャッシュに保存されるファイルの最大数。0 は制限なしを示します |
| timeToLiveSeconds | ノードがスイプされるまでのアイドル時間(秒単位)。0 は制限なしを示します |
| maxAgeSeconds | ノードがスイプアウトされるまでのアイドル時間に関係なく、オブジェクトは TreeCache (秒単位)に存在する必要がある時間。0 は制限なしを示します |
以下は、設定例です。
<ftp-listener name="FtpGateway"
busidref="helloFTPChannel"
maxThreads="1"
is-gateway="true"
schedule-frequency="5">
<property name="remoteFileSystemStrategy-configFile" value="./ftpfile-cache-config.xml"/>
<property name="remoteFileSystemStrategy-cacheListener" value=
"org.jboss.soa.esb.listeners.gateway.remotestrategies.cache.DeleteOnEvictTreeCacheListener"/>
</ftp-listener>
以下は、JBoss Cache コンポーネントの設定方法を示すサンプルコードです。
<region name="/ftp/cache">
<attribute name="maxNodes">5000</attribute>
<attribute name="timeToLiveSeconds">1000</attribute>
<attribute name="maxAgeSeconds">86400</attribute>
</region>
| プロパティー | Description | コメント |
|---|---|---|
| maxNodes | キャッシュに保存されるファイルの最大数。 | 0 は制限なしを示します |
| timeToLiveSeconds | ノードがスイプされるまでのアイドル時間(秒単位)。 | 0 は制限なしを示します |
| maxAgeSeconds | ノードがスイプアウトされるまでのアイドル時間に関係なく、オブジェクトは TreeCache (秒単位)に存在する必要がある時間 | 0 は制限なしを示します |
注記
helloworld_ftp_action クイックスタートは読み取り専用設定を示しています。クイックスタートの実行手順については、helloworld_ftp_action クイックスタートディレクトリーでant help を実行します。