欢迎来到天天文库
浏览记录
ID:38261907
大小:26.17 KB
页数:4页
时间:2019-06-07
《Mule ESB java组件两种写法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MuleESBjava组件两种写法1是编写java的transformer,2是编写java的component 先说1. 说到底就是一个消息的转换功能,就是获取到http请求过来的消息(payload),然后将其转换为自己后续需要的格式的数据形态。 Java代码 1.import java.io.ByteArrayOutputStream; 2.import java.io.IOException; 3.import java.io.InputStream; 4.import java.util.HashMap; 5.import java.util.Map;
2、6. 7.import javax.activation.DataHandler; 8. 9.import org.mule.api.MuleEventContext; 10.import org.mule.api.MuleMessage; 11.import org.mule.api.lifecycle.Callable; 12. 13. 14. 15.public class Transformer implements Callable { 16. 17. @Override 18. public Object onCall(Mul
3、eEventContext eventContext) throws Exception { 19. // TODO Auto-generated method stub 20. 21. MuleMessage message = eventContext.getMessage(); 22. 23. //message.getPayload()得到的是通过Httpclient-MultipartEntity传过来的二进制流 24. System.out.println(mes
4、sage.getPayload()); 25. InputStream in = (InputStream) message.getPayload(); 26. ByteArrayOutputStream bstream = new ByteArrayOutputStream(); 27. byte[] buff = new byte[100]; 28. int rc = 0; 29. try { 30. while ((rc = in.read(buff, 0,
5、100)) > 0) { 31. bstream.write(buff, 0, rc); 32. } 33. } catch (IOException e) { 1. e.printStackTrace(); 2. } 3. byte[] bytes = bstream.toByteArray(); 4. 5. System.out.println("-------------------------
6、111--" + bytes); 6. //httpClient addPart传过来的StringBody 7. System.out.println(message.getInboundAttachmentNames()); 8. DataHandler h1 = message.getInboundAttachment("serviceId"); 9. DataHandler h2 = message.getInboundAttachment("fileName"); 10. System
7、.out.println("------------------------------------"); 11. 12. Map map = new HashMap(); 13. map.put("serviceId", h1.getContent().toString()); 14. map.put("fileName", h2.getContent().toString()); 15. map.put("payloa
此文档下载收益归作者所有