2016-03-30 17 views
0

Herhangi bir aktarımı başlatmadan önce SITE komutlarının bir dizisini göndermemi gerektiren bir alıcı FTP sitesiyle işim var (büyük olasılıkla alıcı sunucunun herhangi bir bağlantı istemcisinin bir zOS veya zVM sistemi olduğunu varsayan eski bir ana bilgisayar olması nedeniyle). aralarında bir varsayılan olun) ve bu sunucuya bağlanmak için Mule ESB Topluluğu'nu kullanıyoruz. Bu standart FTP konektörü kullanılarak mümkün olup olmadığını bilen var mı?Mule FTP konektörü üzerinden bir FTP SITE komutu göndermek mümkün mü?

Numune dizisi:

site FIXRECFM 80 LRECL=80 RECFM=FB WRAPRECORD 

cevap

1

anahtar katır altında yatan FTP istemcisi org.apache.commons.net.ftp.FTPClient kullanır ve bu nesne keyfi SİTEYE göndermek sağlayan bir sendSiteCommand() yöntemini destekliyor olmasıdır emreder. Yapmanız gereken tek şey, Mule'nin FTPConnector'ında getFTP() öğesini arayarak yapabileceğinize inandığım FTPClient'i avlamak.

Bağlantı verildiğinde yalnızca SITE komutlarına ihtiyacınız varsa, özel bir Katır FTP bağlantısı fabrikası da oluşturabilirsiniz. Bu, Mule FTP bağlantısını başlattığında sendSiteCommand() yöntemini kullanarak "SITE" komutlarınızı göndermek için küçük bir ek mantık ekleyebilmenizi sağlar. Faydası, özel FTP bağlantı fabrikasına geçerek doğru davranışı otomatik olarak gerçekleştirmenizdir - uygulama içinde özel bir mantık gerekmemektedir.