Spring HttpInvoke 实现,以及效率提升! 最近接手服务器总被人质疑效率问题,说到底是质疑Spring HttpInvoke的效率问题。好在经过同事们的努力,找到了问题的根源,最终解决了这个问题。 我也顺道整理一下Spring HttpInvoke——那曾经最为熟悉的东西。 Spring HttpInvoke,一种较为常用的、基于 Spring架构的服务器之间的远程调用实现,可以说是轻量级的RMI。 最初,我们使用 Spring HttpInvoke同步配置数据,刷新多个服务器上的缓存,当然如果用分布式缓存是不是更好 ! 使用 Spring HttpInvoke,你可以调用远程接口,进行数据交互、业务逻辑操作等等。 废话不说了,上代码! 用户操作接口: Java代码 1. /** 2. * @author
梁栋 3. * @since 1.0 4. */ 5. public interface UserService { 6. 7. /** 8. * 获得用户 9. * 10. * @param username 11. * 用户名 12. * @return 13. */ 14. User getUser(String username); 15.} 用户类,注意实现Serializable接口,这是执行远程调用传递数据对象的第一要求——数据对象必须实现Serializable接口,因为,要执行序列化/反序列化操作! Java代码 1. /** 2. * @author
梁栋 3. * @since 1.0 4. */ 5. public class User implements Serializable { 6. 7. private static final long serialVersionUID = 5590768569302443813L; 8. private String username; 9. private Date birthday; 10. 11. /** 12. * @param username 13. * @param birthday 14. */ 15. public User(String username, Date birthday) { 16. this.username = username; 17. this.birthday = birthday; 18. } 19. // 省略 20. /* 21. * (non-Javadoc) 22. * 23. * @see java.lang.Object#toString() 24. */ 25. @Override 26. public String toString() { 27. return String.format("%s\t%s\t", username, birthday); 28. } 29.} 覆盖toString()方法,输出用户信息! 再看UserServiceImpl实现: Java代码 1. /** 2. * @author
梁栋 3. * @since 1.0 4. */ 5. public class UserServiceImpl im...