ROME Feeds: ដាក់ប្រូកស៊ីនៅលើអតិថិជន HTTP
ទុកឱ្យអតិថិជន HTTP គ្រប់គ្រងការនាំផ្លូវប្រូកស៊ី និងការគ្រប់គ្រងស្ថានភាព បន្ទាប់មកបញ្ជូនស្ទ្រីម និងប្រភេទមាតិការបស់វាទៅកម្មវិធីអាន XML របស់ ROME។
ROME ញែកបៃ feed; ផ្លូវប្រូកស៊ី និងគណនីគួរជាកម្មសិទ្ធិរបស់អតិថិជន HTTP។ សម្រាប់ JDK HttpClient ដែលបានជ្រើស ប្រូកស៊ីថេរស្ថិតនៅលើ builder របស់វា៖
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
សម្រាប់ការសាកល្បង feed សាធារណៈដែលបានអនុញ្ញាតដោយគ្មានការផ្ទៀងផ្ទាត់ប្រូកស៊ី សូមជំនួសម៉ាស៊ីន និងច្រកដែលជំនួសដោយបេក្ខជនពី បញ្ជីប្រូកស៊ី HTTP។ បន្ថែមការផ្ទៀងផ្ទាត់នៃការដាក់ពង្រាយ និង ដែនកំណត់សំណើ ទៅអតិថិជននោះ។ បន្ទាប់ពីទទួលបានការឆ្លើយតបដែលអាចទទួលយកបាន សូមប្រគល់ស្ទ្រីមទៅ ROME៖
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
ការនាំចូលទំនើបគឺ com.rometools.rome.io.XmlReader និង SyndFeedInput។ នៅទីនេះ body គឺជា InputStream ដែលទទួលបាន ហើយ contentType គឺជា HTTP Content-Type។ XmlReader ពិចារណា BOM ទិន្នន័យមេតានោះ និងការប្រកាស XML។ ការឌិកូដជាមួយ charset បំពានជាមុនអាចបោះបង់ភស្តុតាងដែលមានប្រយោជន៍។
ពិនិត្យស្ថានភាព HTTP មុនពេលញែក។ បើមិនដូច្នេះ ទំព័រចូលប្រូកស៊ី ឬការបដិសេធអាចបង្ហាញជាកំហុស XML។ ដោះលែងតួសម្រាប់ការឆ្លើយតបដែលត្រូវបានបដិសេធផងដែរ ដើម្បីកុំឱ្យកំហុស HTTP ទុកស្ទ្រីមរបស់វាបើក។
ប្រភព feed ពីរអាចប្រើអតិថិជនដែលកំណត់រចនាសម្ព័ន្ធខុសគ្នាដោយមិនផ្លាស់ប្តូរលក្ខណៈសម្បត្តិប្រូកស៊ី JVM រវាងការហៅ។ អតិថិជន HTTP នីមួយៗជាម្ចាស់ផ្លូវរបស់ខ្លួន ខណៈ ROME ជាម្ចាស់ជំហានញែក។