`
aty
  • 浏览: 35611 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
如果A对象持有B的引用,B对象持有A的引用,这样就形成了循环引用,如果直接使用json-lib转换,会报错: net.sf.json.JSONException: There is a cycle in the hierarchy! import java.util.HashSet; import java.util.Set; public class Aclass { private String name; private int age; private Set<Bclass> policyGoals = new Hash ...
在java对象和json之间做转换的时候,json-lib组件,使用的是对象的getter/setter方法,即调用这些方法,不管这些getter/setter方法有没有对应的属性。因此,在做java对象与json之间的转换时候,除了属性的getter/setter方法,其他方法最好 ...
    ActiveMQ支持两种消息传送模式:PERSISTENT (持久消息)和 NON_PERSISTENT(非持久消息) 1、PERSISTENT 持久消息 是activemq默认的传送方式,此方式下的消息在配合activemq.xml中配置的消息存储方式,会被存储在特定的地方,直到有消费者将消息消费或者消息过期进入DLQ队列,消息生命周期才会结束。此模式下可以保证消息只会被成功传送一次和成功使用一次,消息具有可靠性。在消息传递到目标消费者,在消费者没有成功应答前,消息不会丢失。  2、NON_PERSISTENT 非持久消息 非持久的消息适用于不重要的,可以接受消息丢失的哪一类 ...
    使用客户端确认模式,必须要创建无事务session     Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);           CLIENT_ACKNOWLEDGE:客户端确认模式。会话对象依赖于应用程序对被接收的消息调用一个acknowledge()方法。一旦这个方法被调用,会话会确认该消息的接收,ActiveMQ服务器会认为消息成功接收。 以下是客户端的测试代码,每次执行一次,都会收到一个消息。因为没有调用消息的确认方法,ActiveMQ会认为消息没有成功接收。 ...

Session.AUTO_ACKNOWLEDGE

    博客分类:
  • JMS
使用自动确认模式,必须要创建无事务session Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);     AUTO_ACKNOWLEDGE:自动确认模式,一旦接收方应用程序的消息处理回调函数返回,会话对象就会确认消息的接收。 一般接收方的做法是调用consumer.setMessageListener()注册消息处理函数。如果该函数返回,代表着一条消息被接受放成功接收, ActiveMQ服务器会认为消息接收成功。函数的返回可以是正常的返回,也可以是因为抛出异常而结束。   接收 ...
   Session   session = conn.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);    第一个参数代表该session是否支持事务,true 表示这个会话是事务性的,需要显式的commit 或者rollback ().    如果没有显示的提交session.commit(),接收端是不能够收到发送方的消息的。    public static void main(String[] args) throws Exception { // 设置用户名和密码,这个用户名和 ...
      最近做1个OJ题目,其中有一步这样的操作:给定一个排序好的数组,随意给定一个数据,寻找数组中第一个大于或等于该值的数据在数组中的索引。如{1,4,5,10}, 给定4,应该返回的索引是1;给定6应该返回的索引是3        刚开始我用的是直接从前到后扫描一遍这种最原始的方法,跑junit用例的时候,发现此处存在性能瓶颈。最后使用了jdk中自带的二分搜索,满足了性能要求。呵呵,二分查找确实很快。下面附上Arrays.binarySearch()的JDk源代码 /** * * @param a 已经排好序的数组 * @param fro ...
最近终于静下心来,自己实现了个二叉排序树,还是很有成就感的。   package tree; public class TreeNode<T> { //结点存放的数据 public T data; //当前结点的父结点 public TreeNode<T> parent; //当前结点的左孩子 public TreeNode<T> leftChild; //当前结点的右孩子 public TreeNode<T> rightChild; public TreeNode(T data,Tr ...
Global site tag (gtag.js) - Google Analytics