我正在通过TCP连接(而不是HTTP)阅读和编写XML作为我正在开发的Web服务的一部分,我想知道是否有一种更"弹性化"的方式(甚至是其他想法)来实现我的目标尝试下面:
InputStream is = null; OutputStream os = null; Socket s = null; try { s = new Socket(address, portNo); os = s.getOutputStream(); os.write(msg.getBytes()); os.flush(); is = s.getInputStream(); String xml = IOUtils.toString(is); return xml; } finally { IOUtils.closeQuietly(os); IOUtils.closeQuietly(is); if (s != null) s.close(); }
注意,我无法控制服务器,因此我认为我不能使用Spring远程处理,但是想知道这是否可以改进,类似于spring的JdbcTemplates.
编辑:
注意,只是为了澄清IOUtils是Apache commons-io ...
我有一个类似的问题,想到使用Spring Integration,听起来非常适合我:
Spring-Integration Home
Spring集成参考(TCP/UDP适配器)
TCP连接Javadocs
请注意,Spring Integration 2.0构建于Spring 3.0之上,而之前的1.0版本也支持Spring 2.x(但不包括TCP/UDP适配器).